xxy811225
級(jí)別: *
|
H0568=8+6*16+5*256=1384 可是這個(gè)怎么算的 H8731=-30927? |
---|---|
|
xxy811225
級(jí)別: *
|
原碼、反碼、補(bǔ)碼在其BCD碼前有一個(gè)符號(hào)位,“0 ”表示正數(shù),“1”表示負(fù)數(shù) 正數(shù)的原碼、反碼、補(bǔ)碼值跟其BCD碼一致,在BCD碼前加符號(hào)位0 例 [H0568]B=0101 0110 1000 [0101 0110 1000]原=[0101 0110 1000]反=[0101 0110 1000]補(bǔ)=0 0101 0110 1000 負(fù)數(shù)的原碼在其BCD碼前加符號(hào)位“1”;反碼將其BCD碼求反(求反即1變0,0變1),然后在其前加符號(hào)位“1”;原碼是將其BCD碼求反+1,最后在其前面加符號(hào)位“1”,或者說在反碼基礎(chǔ)上+1(這種算法不正規(guī),但結(jié)果是正確的). 我們以H8731為例 因?yàn)轭}目提到在用BCD或十六進(jìn)制比較時(shí),最高位(在這里是b15)為1時(shí),將作為負(fù)的BCD值進(jìn)行比較 [H8731]原=1000 0111 0011 0001 最高位為1,所以是負(fù)數(shù) [H8731]B=-000 0111 0011 0001 [H8731]反=1111 1000 1100 1110 [H8731]補(bǔ)=1111 1000 1100 1111=[H-78CF]=-[7*4096+8*256+12*16+15]=-30927 BCD碼有8421、余3碼、2421碼、5211碼、余3循環(huán)碼等形式。這里(通常)用的是8421碼。 在計(jì)算機(jī)中的數(shù)據(jù)都是以補(bǔ)碼存放的,這一點(diǎn)也是值得注意的. |
---|---|
|