8位单片机中一个容易被忽视的溢出问题
2014-01-08 00:26
232 查看
8位单片机中一个容易被忽视的溢出问题
例:
uint16 wTmp ;
uint8 x ;
x=2;
wTmp = (uint16)(x*150);
各位,以上这个乘法有没有问题?wTmp的值是多少?
相信有很多人都会不加思考的说,没问题啊!wTmp=300 。
好,问题来了!告诉你,其实结果是 wTmp=44。
这里不作具体解释,请读者自已思考,下次在遇到类似此情况
的时候千万有小心!
正确写法:
x=2;
wTmp = (uint16)(x)*150; //wTmp=300
摘自http://blog.csdn.net/libiaojs/article/details/17951679
例:
uint16 wTmp ;
uint8 x ;
x=2;
wTmp = (uint16)(x*150);
各位,以上这个乘法有没有问题?wTmp的值是多少?
相信有很多人都会不加思考的说,没问题啊!wTmp=300 。
好,问题来了!告诉你,其实结果是 wTmp=44。
这里不作具体解释,请读者自已思考,下次在遇到类似此情况
的时候千万有小心!
正确写法:
x=2;
wTmp = (uint16)(x)*150; //wTmp=300
摘自http://blog.csdn.net/libiaojs/article/details/17951679
相关文章推荐
- 8位单片机中一个容易被忽视的溢出问题
- 在Oracle中建表时容易忽视的一个小问题
- 关于USART很多人都容易忽视的一个问题
- Visual C++ Tips: 程序执行路径,一个容易被忽视的问题
- 使用SQL Server Business Intelligence Development Studio 2005设计报表模型时的一个容易被忽视的问题
- 一个容易忽视的存储过程问题
- 一个容易忽视的Oracle安全问题
- java中一个容易忽视的问题
- 一个容易忽视的存储过程问题
- 闭包一个容易忽视的小问题及解决方法
- 使用SQL Server Business Intelligence Development Studio 2005设计报表模型时的一个容易被忽视的问题
- 关于USART很多人都容易忽视的一个问题
- WinForm异步编程中一个容易忽视的问题
- 一个容易忽视的存储过程问题
- 一个容易忽视的Oracle安全问题
- 学习Drupal一个容易被忽视的问题
- 一个容易忽视的Oracle安全问题
- sql server一个容易忽视的“漏洞”------SELECT INTO 语句 潜在问题
- 运营一个网站,新增加一个功能,容易忽视哪些问题就匆匆上线?
- sql 一个说起来都知道,工作中容易忽视的问题