最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

十六進(jìn)制如何代表負(fù)數(shù)(補(bǔ)碼舉例,計(jì)算,分析)

2021-06-23 08:40 作者:GXTon_阿通  | 我要投稿

計(jì)算機(jī)中表示負(fù)數(shù)是用補(bǔ)碼.

其實(shí)計(jì)算機(jī)內(nèi)部的數(shù)據(jù),都是補(bǔ)碼形式存儲的.(遵循補(bǔ)碼形式的二進(jìn)制存儲)

比如下面一段文字,是我從一個電機(jī)的協(xié)議中摘出來的.(這里都是十六進(jìn)制表示方法:::)

1.下傳幀: 0xd8 0x30 0x10 0x00 0xff? //?代表控制電機(jī)轉(zhuǎn)速為0x1000=4096轉(zhuǎn)每分鐘.

2.下傳幀: 0xd8 0x30 0xf0 0x00 0xff? //? 代表控制電機(jī)轉(zhuǎn)速位0xf000=- 4096轉(zhuǎn)每分鐘.

從上面兩條指令中,0xd8 0x30可以認(rèn)為是包頭,不用管.

0xff是包尾,也不用管.

中間標(biāo)紅的是數(shù)據(jù)位.

可見,這個電機(jī)控制的數(shù)據(jù)只有兩個字節(jié).

關(guān)于第一條下傳幀,它的數(shù)據(jù)位是,0x10 0x00,合起來就是0x1000,然后我們打開window自帶的計(jì)算器:在HEX欄,也就是16進(jìn)制欄,輸入1000,

然后可以從對應(yīng)的DEC欄得到4096,DEC也就是10進(jìn)制的意思.

上面是正數(shù)的驗(yàn)證,得到0x1000就是4096.

這樣的方法是否適用于負(fù)數(shù)呢??看下圖,顯然是不行的.

因?yàn)檩敵龅氖M(jìn)制(DEC)是61440.

那么應(yīng)該如何去驗(yàn)證呢?

電機(jī)使用手冊上說0xf000= - 4096 ,手冊上說的例子,一般是不會錯的.

進(jìn)行負(fù)數(shù)的驗(yàn)證:

下面就會用到一定的計(jì)算機(jī)基礎(chǔ)了,這里的0xf000補(bǔ)碼的形式.

人是不能直觀看清補(bǔ)碼的,需要轉(zhuǎn)換成原碼.

補(bǔ)碼如何轉(zhuǎn)換成原碼:

負(fù)數(shù)原碼和補(bǔ)碼的相互轉(zhuǎn)換:符號位不變,數(shù)值位按位取反,末位再加1。

我們用windows系統(tǒng)自帶的計(jì)算器,就可以進(jìn)行上面法則的運(yùn)算.

第一步:把計(jì)算器,調(diào)整到二進(jìn)制界面.

第二步:符號位不變,其他的按位取反.

(用鼠標(biāo)去右擊某一個二進(jìn)制位,就可以進(jìn)行取反,0變1,1變0)

第三步:末尾再加一.

通過上面的一步后,看到的結(jié)果是:36864.

難道0xf000=36864嗎?顯然不是.

之所以出現(xiàn)36864,是因?yàn)閣indows系統(tǒng)自帶的計(jì)算器不夠智能,

它不知道最高位的1代表負(fù)號,而是按照正整數(shù)進(jìn)行的計(jì)算.

所以,你需要自己去處理一下.

1001 0000 0000 0000 ,去掉最高位的符號位. (用鼠標(biāo)右擊最高位的1,使1變成0)

然后,就可以看到得到的是4096,

然后因?yàn)橛蟹?就是-4096.

即0xf000= -4096.

總結(jié):

計(jì)算機(jī)中的負(fù)數(shù),都是補(bǔ)碼形式的.

十六進(jìn)制如何代表負(fù)數(shù)(補(bǔ)碼舉例,計(jì)算,分析)的評論 (共 條)

分享到微博請遵守國家法律
洛川县| 松滋市| 微博| 朔州市| 崇州市| 江山市| 资兴市| 定日县| 涪陵区| 恩平市| 留坝县| 平江县| 银川市| 勃利县| 呼图壁县| 武强县| 定边县| 湘潭市| 广汉市| 余江县| 兴安县| 东丰县| 唐山市| 抚顺县| 师宗县| 胶南市| 峨边| 郑州市| 清水河县| 原平市| 定襄县| 保德县| 襄汾县| 洪湖市| 普兰店市| 柳州市| 达日县| 八宿县| 壤塘县| 儋州市| 太湖县|