久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: C語言中Uint和int類型數(shù)據(jù)的移位操作 [打印本頁]

作者: jiege    時間: 2014-8-20 02:54
標(biāo)題: C語言中Uint和int類型數(shù)據(jù)的移位操作
                                                                                                int i,j,m;
       i = 0x00CF;
       j = 0xDE43;
       m = (i << 8) | (j >> 8);

執(zhí)行后結(jié)果是?
       m = 0xFFDE,而不是0xCFDE。

看一下匯編后的指令:
MOV ACC, *-SP[6] << 8    ;ACC = 0x0000CF00
MOV AH, *-SP[5]    ;ACC = 0xDE43CF00
ASR AH,8    ;ACC = 0xFFDECF00
OR  AH, @AL    ;ACC = 0xFFDECF00
MOV *-SP[7], AH    ;m = 0xFFDE(返回值)

因?yàn)閖是整型數(shù),所以右移操作編譯后是帶符號的算術(shù)右移指令 ASR。
把j改為Uint后,右移操作編譯后是無符號擴(kuò)展的邏輯右移指令 LSR。

如果希望得到m = 0xCFDE的結(jié)果,那么可以把i、j、m定義為無符號數(shù):
Uint i,j,m;
       i = 0x00CF;
       j = 0xDE43;
       m = (i << 8) | (j >> 8);

看一下匯編后的指令:
MOV ACC, *-SP[6] << 8    ;ACC = 0x0000CF00
MOV AH, *-SP[5]    ;ACC = 0xDE43CF00
LSR AH,8    ;ACC = 0x00DECF00
OR  AH, @AL    ;ACC = 0xCFDECF00
MOV *-SP[7], AH    ;m = 0xCFDE(返回值)

注:MPU為TMS320F2812。






歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩在线视频观看 | 99在线播放| 国产盗摄一区二区 | 黄色小视频在线观看免费 | 久久久久久爱 | 黄av在线 | 国产精品久久视频 | 久久黄色影院 | 国产麻豆91 | 午夜美女福利 | 999成人网 | 成人久久网 | 毛片在线观看视频 | 国产欧美综合一区二区三区 | 日韩精品在线视频 | 手机看片福利永久 | 国产va在线观看 | 欧美国产日韩在线 | 天天操夜夜爽 | 黄色一级视频在线观看 | 久久久天堂国产精品女人 | 免费av网站在线观看 | 国产在线小视频 | 久久精品人人 | 欧美精品日韩 | 日本黄a三级三级三级 | 成人精品一区二区三区 | 久久伊人av| 男人爱看的网站 | 999毛片 | 国产性猛交╳xxx乱大交 | 一本久久道 | 少妇视频网站 | 亚洲成人av一区二区 | 欧美国产一区二区 | 国产精品第一 | 最新日韩在线 | 国产青青草 | 日韩少妇视频 | 黄色特级片 | 男人的天堂久久 |