29
784
2411
初级工程师
使用特权
318
2817
8548
技术达人
39
3256
1万
资深工程师
24
143
917
高级技术员
秋雨 发表于 2013-11-23 22:39 picc不指名类型的话按照int*int=int型计算,不会进行隐性转换,超过的丢弃。需要像楼上这样加L才可 ...
yklstudent 发表于 2013-11-23 22:22 4000ul*50 感觉这样就应该没什么问题 应该还是编译器的问题
wangch_sh 发表于 2013-11-23 14:25 感觉是编译器的问题。
wangch_sh 发表于 2013-11-25 08:32 不好解释。因为4000有符号数也是正的,所以不加应该也可以。不是编译器的问题解释不通。 ...
1416
2万
7万
总工程师
yewuyi 发表于 2013-11-25 09:44 1、unsigned long int Tem=0;尽量写全了,否则各个编译器定义方法不一样,容易掉坑。 2、Tem=(unsigned lon ...
222
4万
技术总监
Rain_King 发表于 2013-11-25 09:48 好的习惯可以避免很多基础的问题.....学习了。unsigned long long有这个存在么???这个是啥子??和uns ...
yewuyi 发表于 2013-11-25 09:56 你从那冒出来的:unsigned long long,是不是下面就unsigned long long ago...
QQ截图20131125100246.png (1.16 KB )
下载附件
2013-11-25 10:04 上传
ayb_ice 发表于 2013-11-25 09:53 计算溢出了,自动截断了 编译器是无辜的
ayb_ice 发表于 2013-11-25 10:11 4000*50=200000=0x30d40 截断了应该等于0x0d40 如果不等于,只能看反汇编了
ayb_ice 发表于 2013-11-25 10:27 刚才在同事的电脑上模拟了(就是PIC+MPLAB),结果就是0x0d40,符合标准C的结果 ...
发表回复 本版积分规则 回帖后跳转到最后一页
人才类勋章
时间类勋章
发帖类勋章
等级类勋章
4
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注21ic项目外包
扫码关注21ic视频号
扫码关注21ic抖音号
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才 | 论坛帮助
京公网安备 11010802024343号