嵌入式之家

 找回密码
 现在注册

QQ登录

只需一步,快速开始

搜索
热搜: ARM cortex
查看: 5775|回复: 3

warining:integer operation result is out of range!!!

[复制链接]

该用户从未签到

55

主题

168

帖子

1767

积分

金牌会员

Rank: 6Rank: 6

积分
1767
发表于 2016-3-17 16:42:43 | 显示全部楼层 |阅读模式
       有时候程序中写到0x1<<31时,会出现“warning:  #61-D: integer operation result is out of range”的警告,这是为什么呢?
     原来是在MDK中,默认的是signed int即32位有符号的整型数据,0x1<<31写了符号位(1<<31实际为0x80000000,这样就有可能改写了最高位的符号位),遇到此种情况的时候,应该在前边加上(U32)1<<31,就正确了。
回复

使用道具 举报

该用户从未签到

45

主题

115

帖子

1543

积分

金牌会员

Rank: 6Rank: 6

积分
1543
发表于 2016-3-21 13:48:01 | 显示全部楼层
回复

使用道具 举报

该用户从未签到

32

主题

81

帖子

771

积分

高级会员

Rank: 4

积分
771
发表于 2016-3-22 08:30:26 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 现在注册

本版积分规则

QQ|Archiver|手机版|小黑屋|嵌入式之家 ( 京ICP备14038168号-1 )

GMT+8, 2024-5-13 00:22 , Processed in 0.022418 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表