新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 8位單片機中一個容易被忽視的溢出問題

8位單片機中一個容易被忽視的溢出問題

作者: 時間:2016-11-19 來源:網(wǎng)絡 收藏
8位單片機中一個容易被忽視的溢出問題

例:

本文引用地址:http://butianyuan.cn/article/201611/318554.htm

uint16 wTmp ;
uint8 x ;

x=2;

wTmp = (uint16)(x*150);

各位,以上這個乘法有沒有問題?wTmp的值是多少?

相信有很多人都會不加思考的說,沒問題啊!wTmp=300 。

好,問題來了!告訴你,其實結果是 wTmp=44。
這里不作具體解釋,請讀者自已思考,下次在遇到類似此情況
的時候千萬有小心!

正確寫法:

x=2;

wTmp = (uint16)(x)*150; //wTmp=300



評論


技術專區(qū)

關閉