補(bǔ)碼解釋及運(yùn)算
任何一個(gè)數(shù)都可以表示為-a=2^(n-1)-2^(n-1)-a; 這個(gè)假設(shè)a為正數(shù),那么-a就是負(fù)數(shù)。而根據(jù)二進(jìn)制轉(zhuǎn)十進(jìn)制數(shù)的方法,我們可以把a(bǔ)表示為:a=k0*2^0+k1*2^1+k2*2^2+……+k(n-2)*2^(n-2) 這里k0,k1,k2,k(n-2)是1或者0,而且這里設(shè)a的二進(jìn)制位數(shù)為n位,即其模為2^(n-1),而2^(n-1)其二項(xiàng)展開(kāi)是:1+2^0+2^1+2^2+……+2^(n-2),而式子:-a=2^(n-1)-2^(n-1)-a中,2^(n-1)-a代入a=k0*2^0+k1*2^1+k2*2^2+……+k(n-2)*2^(n-2)和2^(n-1)=1+2^0+2^1+2^2+……+2^(n-2)兩式,2^(n-1)-a=(1-k(n-2))*2^(n-2)+(1-k(n-3))*2^(n-3)+……+(1-k2)*2^2+(1-k1)*2^1+(1-k0)*2^0+1,而這步轉(zhuǎn)化正是取反再加1的規(guī)則的代數(shù)原理所在。因?yàn)檫@里k0,k1,k2,k3……不是0就是1,所以1-k0,1-k1,1-k2的運(yùn)算就是二進(jìn)制下的取反,而為什么要加1,追溯起來(lái)就是2^(n-1)的二項(xiàng)展開(kāi)式最后還有一項(xiàng)1的緣故。而-a=2^(n-1)-2^(n-1)-a中,還有-2^(n-1)這項(xiàng)未解釋?zhuān)@項(xiàng)就是補(bǔ)碼里首位的1,首位1在轉(zhuǎn)化為十進(jìn)制時(shí)要乘上2^(n-1),這正是n位二進(jìn)制的模。 不能貼公式,所以看起來(lái)很麻煩,如果寫(xiě)成代數(shù)式子看起來(lái)是很方便的。 注:n位二進(jìn)制,最高位為符號(hào)位,因此表示的數(shù)值范圍-2^(n-1) ——2^(n-1) -1,所以模為2^(n-1)。上面提到的8位二進(jìn)制模為2^8是因?yàn)樽罡呶环欠?hào)位,表示的數(shù)值范圍為0——2^8-1。 C語(yǔ)言中,就是用補(bǔ)碼進(jìn)行存儲(chǔ)和運(yùn)算的。
- 補(bǔ)碼(7489)
相關(guān)推薦
什么是“可解釋的”? 可解釋性AI不能解釋什么
通過(guò)建立既可解釋又準(zhǔn)確的模型來(lái)改良這種錯(cuò)誤的二分法。關(guān)鍵是將神經(jīng)網(wǎng)絡(luò)與決策樹(shù)相結(jié)合,在使用神經(jīng)網(wǎng)絡(luò)進(jìn)行低級(jí)決策時(shí)保留高級(jí)的可解釋性。
2020-05-31 10:51:44
7985

基于FPGA的并行ADC與DAC Verilog實(shí)現(xiàn)案例
轉(zhuǎn)換的依據(jù)是一個(gè)簡(jiǎn)單的運(yùn)算關(guān)系:“補(bǔ)碼的整數(shù)值”+“原碼絕對(duì)值的整數(shù)值”=2^B,B為位寬。比如帶符號(hào)數(shù)原碼1110的補(bǔ)碼為1010:1110取絕對(duì)值0110為6;1010為10,二者加起來(lái)為2^4=16。
2024-03-21 12:19:08
104


2.7 python運(yùn)算符
符(a ^ b) 輸出結(jié)果 49 ,二進(jìn)制解釋: 0011 0001~按位取反運(yùn)算符(~a ) 輸出結(jié)果 -61 ,二進(jìn)制解釋: 1100 0011, 在一個(gè)有符號(hào)二進(jìn)制數(shù)的補(bǔ)碼形式。[td]右移動(dòng)運(yùn)算
2022-02-21 16:43:26
補(bǔ)碼怎么轉(zhuǎn)換為原碼?
我的AD7606的輸出編碼方式為二進(jìn)制補(bǔ)碼,其最高位是符號(hào)位,下位機(jī)單片機(jī)輸出16進(jìn)制(126B)顯示在LABVIE W上,我LABVIEW上怎么補(bǔ)碼轉(zhuǎn)換為原碼
2017-05-22 11:18:37
補(bǔ)碼是什么 補(bǔ)碼和原碼的轉(zhuǎn)化
計(jì)算機(jī)中的有符號(hào)數(shù)有三種表示方法,即原碼、反碼和補(bǔ)碼。三種表示方法均有符號(hào)位和數(shù)值位兩部分,符號(hào)位都是用0表示“正”,用1表示“負(fù)”,而數(shù)值位,三種表示方法各不相同。在計(jì)算機(jī)系統(tǒng)中,數(shù)值一律用補(bǔ)碼來(lái)
2019-12-11 17:45:23
運(yùn)算符使用相關(guān)資料推薦
&,按位與功能是參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)位相與。只有對(duì)應(yīng)的兩個(gè)二進(jìn)位都為1時(shí),結(jié)果位才為1。參與運(yùn)算的兩個(gè)數(shù)均以補(bǔ)碼出現(xiàn)。1&1=11&0=00&1=00&
2022-02-25 07:03:34
AD9957的二進(jìn)制補(bǔ)碼的小數(shù)點(diǎn)位置如何確定?
您好!我正使用AD9957的QUDC模式,現(xiàn)通過(guò)DSP給AD9957送入并行數(shù)據(jù)。我的問(wèn)題是,數(shù)據(jù)手冊(cè)說(shuō)施加于引D<17:0>的數(shù)據(jù)字可以選擇二進(jìn)制補(bǔ)碼編碼格式,那么請(qǐng)問(wèn)這18位的二進(jìn)制補(bǔ)碼的小數(shù)點(diǎn)位置如何確定?AD9957是如何判斷的?謝謝
2023-12-25 07:55:04
ADXL345用于存儲(chǔ)三軸數(shù)據(jù)的寄存器放的數(shù)據(jù)時(shí)補(bǔ)碼形式
我最近在用ADXL345,里面用于存儲(chǔ)三軸數(shù)據(jù)的寄存器放的數(shù)據(jù)時(shí)補(bǔ)碼形式。那我應(yīng)該怎么處理。放入有符號(hào)的數(shù)據(jù)類(lèi)型嗎?平時(shí)使用的數(shù)據(jù)類(lèi)型都是無(wú)符號(hào)的。突然有點(diǎn)亂。那位大蝦可以幫忙解釋一下。另外,我應(yīng)該怎樣處理才能在液晶上顯示負(fù)數(shù)呢?如何變化這些數(shù)據(jù)謝謝啦
2019-03-08 04:07:46
C語(yǔ)言 關(guān)于原碼補(bǔ)碼問(wèn)題
我想通過(guò)補(bǔ)碼得到原碼,但現(xiàn)在這個(gè)程序做不到,只能得到補(bǔ)碼,求大神指點(diǎn)。
2017-02-14 10:46:36
DM8168支持浮點(diǎn)運(yùn)算嗎
DM8168支持浮點(diǎn)運(yùn)算嗎?我的視頻采集經(jīng)過(guò)一個(gè)浮點(diǎn)運(yùn)算處理,視頻卡的不能動(dòng)了。求解釋
2018-06-21 03:14:22
FPGA中的除法運(yùn)算及初識(shí)AXI總線
] signal_b;需要注意一點(diǎn),F(xiàn)PGA將所有有符號(hào)數(shù)視為二進(jìn)制補(bǔ)碼形式,運(yùn)算的結(jié)果同樣為補(bǔ)碼。再來(lái)看看除法器IP核配置界面。總共就兩頁(yè),非常簡(jiǎn)單。需要重點(diǎn)關(guān)注的有三個(gè)地方:1 算法實(shí)現(xiàn)結(jié)構(gòu)
2018-08-13 09:27:32
LSM303D溫度傳感器12位二進(jìn)制補(bǔ)碼右對(duì)齊
引用數(shù)據(jù)表:'溫度數(shù)據(jù)存儲(chǔ)在TEMP_OUT_L(05h),TEMP_OUT_H(06h)內(nèi),作為12位格式的兩個(gè)補(bǔ)碼數(shù)據(jù),右對(duì)齊。因此,如果傳感器值讀數(shù)為0且溫度下降了1/8度,我希望該值為
2019-03-20 10:30:31
評(píng)論