1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2585|回復(fù): 7
收起左側(cè)

Keil調(diào)試功能有BUG?

[復(fù)制鏈接]
ID:694871 發(fā)表于 2020-6-15 19:28 | 顯示全部樓層 |閱讀模式
本帖最后由 星水天河 于 2020-6-15 19:29 編輯

例如執(zhí)行i=0xA2FC%10;得到的是0x04。這個結(jié)果是正確的。(0xA2FC=41724)
但是語句remainder=quotient%10;(quotient變量當前的值為0xA2FC,為int型變量;remainder為unsigned char型變量)
執(zhí)行后,在Watch窗口看到的remainder的值為0xFE? (這個問號是Watch窗口中remainder變量的值這一欄中就有的)
即便我進行強制類型轉(zhuǎn)換remainder=(unsigned char)quotient%10;得到的結(jié)果為0x02,也和0x04的正確結(jié)果完全不符合。這是怎么回事?
圖片3.jpg
圖片1.jpg
回復(fù)

使用道具 舉報

ID:592807 發(fā)表于 2020-6-16 08:47 | 顯示全部樓層
remainder=(unsigned char)(quotient%10)
回復(fù)

使用道具 舉報

ID:694871 發(fā)表于 2020-6-16 12:27 | 顯示全部樓層
黃youhui 發(fā)表于 2020-6-16 08:47
remainder=(unsigned char)(quotient%10)

改成這樣之后在Watch窗口看到的remainder的值還是0xFE'?  請問這是怎么回事。。
回復(fù)

使用道具 舉報

ID:267719 發(fā)表于 2020-6-16 13:41 | 顯示全部樓層
i是unsigned int =0xA2FC=41724    i%10的結(jié)果也是和i類型一樣  所以是4
quotient是int =0xA2FC=-23812 所以%10后得到的是-2  FFFE(quotient%10的結(jié)果也是和quotient的類型一樣是int型),然后賦值給unsigned char型的remainder,那remainder=0xFE
remainder=(unsigned char)quotient%10的話,quotient=0xA2FC;(unsigned char)quotient=0xFC;
0xFC%10=252%10=2.
所以正確做法應(yīng)該這樣:
remainder=(unsigned int)quotient%10;
先把quotient強制轉(zhuǎn)換成unsigned int型,這時quotient%10的結(jié)果也是unsigned int型。得到0x0004,再賦值給remainder就是0x04
回復(fù)

使用道具 舉報

ID:592807 發(fā)表于 2020-6-16 13:46 | 顯示全部樓層
星水天河 發(fā)表于 2020-6-16 12:27
改成這樣之后在Watch窗口看到的remainder的值還是0xFE'?  請問這是怎么回事。。

單步執(zhí)行看看吧,我這沒問題
2.png
回復(fù)

使用道具 舉報

ID:123289 發(fā)表于 2020-6-16 15:19 | 顯示全部樓層
INT 的最大值是多少?
有負的INT嗎?
回復(fù)

使用道具 舉報

ID:782419 發(fā)表于 2020-6-17 21:43 | 顯示全部樓層
remainder=(unsigned char)quotient%10
quotient=0xA2FC=41724
(unsigned char)quotient=0xFC,這沒有什么問題吧
0xFC=252,這也沒有問題吧
那么252對10取余等于2有什么問題么?
回復(fù)

使用道具 舉報

ID:694871 發(fā)表于 2020-6-21 07:13 | 顯示全部樓層
carpcarey 發(fā)表于 2020-6-16 13:41
i是unsigned int =0xA2FC=41724    i%10的結(jié)果也是和i類型一樣  所以是4
quotient是int =0xA2FC=-23812 所 ...

你的回答是對的。感謝!還有一個問題是上面的截圖里remainder=0XFE‘?這個'?是什么意思?
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表