新聞中心

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

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

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

        例:

        本文引用地址:http://www.104case.com/article/201611/318554.htm

        uint16 wTmp ;
        uint8 x ;

        x=2;

        wTmp = (uint16)(x*150);

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

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

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

        正確寫法:

        x=2;

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



        關(guān)鍵詞: 8位單片機溢出問

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 石狮市| 石城县| 宝山区| 梁山县| 灵寿县| 襄汾县| 黎川县| 浦城县| 保康县| 天台县| 卢湾区| 衡阳市| 德保县| 桐乡市| 来安县| 叙永县| 尼木县| 安康市| 旺苍县| 都昌县| 雅江县| 崇义县| 星子县| 云林县| 日土县| 通渭县| 拜城县| 元阳县| 望江县| 公安县| 民权县| 凤山市| 宁津县| 酉阳| 江西省| 高台县| 西乌| 白城市| 屏山县| 清镇市| 清流县|