日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计组—原码、补码、反码、移码复习

發(fā)布時間:2023/12/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计组—原码、补码、反码、移码复习 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

進制之間的轉(zhuǎn)換(略)

unsigned integer (無符號整數(shù))

1. 8位二進制數(shù)表示的范圍:2^8-1 (減1位二進制的減法運算)

解析:8位二進制數(shù)所表示的范圍為:00000000 ~ 11111111 ,即最小為00000000 最大為11111111,那么

最大值11111111 =?100000000-1 = 0 ~ 2^8-1

注意:100000000-1 為二進制的減法運算

?

2,n位二進制數(shù)表示的范圍為:0 ~ 2^n -1 (計算方式同上)

?

有符號的數(shù)表示方法:

定點數(shù)x=x0x1x2......xn在定點機器中表示如下(x0:符號位,0代表正號 1代表負號,x1...xn表示數(shù)值;即共有n+1位,其中n位為數(shù)值)

1.8位純小數(shù)的表示范圍:-0.1111111 ~ +0.1111111

?其中0.1111111=1?-?0.0000001 = 1 - 2^-7,所以范圍為-(1-2^-7) ~ +(1-2^-7)

注意:0.1111111=1?-?0.0000001 = 1 - 2^-7為二進制減法運算,且由于帶有符號,所以數(shù)值位只有8-1=7位

?

2,n位純小數(shù)二進制數(shù)表示的范圍為:-(1-2^-n)~ +(1-2^-n)?(計算方式同上)

3,n位純整數(shù)二進制數(shù)表示的范圍為:-(2^n -1)~ +(2^n -1)?(計算方式同上)

?

計算機的機器碼

1.原碼表示法:原碼就是數(shù)值的真值(絕對值)前面加上一個符號位(正數(shù)0,負數(shù)1)

例:如下式子中[x]原是機器數(shù),x是真值

x=+0.1001, 則 [x]原=0.1001 ?(加粗的第一個0表示正數(shù))

?x=-0.1001, 則[x]原=1.1001 ?(加粗的第一個1表示負數(shù))

?

原碼:一個8位二進制的數(shù)對應有2^8=256個編碼(8位中包含1位符號位),所表示的真值的范圍為-(2^7-1) ~ +(2^7-1) 即:-127 ~ +127可以表示的數(shù)值個數(shù)為127+127=254 加“0”數(shù)值得到254=1=255;即原碼中256個編碼只能表示255個數(shù),原因是0占了兩個編碼?

正0和負0:+0=0000 和 -0=1000

源碼的移位規(guī)則:符號位不變,數(shù)值部分左移或右移,移出的空位補“0”。(左移一位相當于乘以2,右移一位相當于除以2)

?

十進制轉(zhuǎn)二進制技巧性做法

?

補碼

補碼的定義:[X]補 = M + X?; 即X的補碼就等于模加上真值X本身,M表示模

x>=0時,M+X大于M,把M丟掉,所以[X]補=X,即正數(shù)的補碼等于其本身

x<0時,[X]補=M+X=M-|X|,所以負數(shù)的補碼等于模與該數(shù)絕對值之差

?

模的大小:

純小數(shù)補碼表示的模M=2,純整數(shù)補碼表示的模M=2^(n+1)?,其中n為數(shù)值位位數(shù)

?

補碼的性質(zhì):

(1).0的補碼表示

純小數(shù):[+0]補=2+0.00 = 0.00;[-0]補=2+(-0.00)=0.00?

純正數(shù):[+0]補=2^(n+1)+000=000 ;[-0]補=2^(n+1)+(-000)=000

即:0的補碼表示只有一種形式就是0

(2).-1和-2^n的補碼表示(注意與原碼的表示范圍比較)

n+1位純小數(shù)補碼:

[-1]補=2+(-1)=10.00+(-1.00)=1.00 ???=[-0]原

純小數(shù)原碼表示中[-1]原是不能被表示的,因為n位純小數(shù)二進制數(shù)表示的范圍為:-(1-2^-n)~ +(1-2^-n)即2^-n -1為原碼的最小值而這個數(shù)肯定是要大于[-1]的,因此[-1]無法用原碼表示

n+1位純整數(shù)補碼:

[-2^n]補=2^(n+1)+(-2^n)=100...0+(-10...0)=10...0

純整數(shù)原碼表示中[-2^n]原是不能被表示的,因為n位純整數(shù)二進制數(shù)表示的范圍為:-(2^n -1)~ +(2^n -1),即-2^n+1為純整數(shù)原碼的最小值而這個數(shù)肯定是要大于[-2^n]的,因此[-2^n]無法用原碼表示

綜上可知,-1和-2^n的補碼與[-0]原表示形式一樣,且對于定點正數(shù)和定點小數(shù)補碼都比原碼多表示一位;

?

補碼的表示范圍:

一個n+1位定點整數(shù)補碼的表示范圍: -2^n ~ 2^n - 1 ? 即 (?-2^n =< x <=2^n - 1)

一個n+1位定點小數(shù)補碼的表示范圍:-1 ~ 1-2^-n ? ?即(-1 =< x <= 1-2^-n)

?

(3).補碼和原碼的關系

對于正數(shù),即若x>=0 , [x]原=[x]補

若x<0,對[x]原 各位按位取反(符號位不變)后再在最低位加1得到[x]補;反之將[x]補除符號位以外各位取反后,再在最低位加1,即得到[x]原

注意:補碼中特殊數(shù)-1(純小數(shù))和-2^n(純整數(shù))的表示,在原碼中沒有對應表示?

?

(4).[x]補[-x]補的關系

已知[x]補將[x]補的各位(含符號位)取反,然后在最低位加1,即得到[-x]補。反之亦然

?

(5)補碼的移位規(guī)則

補碼的左移(乘2):符號位不變,數(shù)值部分左移,最低位移出的空位填充0;

補碼的右移(除2):符號位不變,數(shù)值部分右移,最高位移出的空位填充符號位

?

(6)補碼的位擴展

例如將字節(jié)(8位二進制)表示的補碼擴展為16位二進制表示的補碼。

擴展的要求:數(shù)值本身不發(fā)生改變

定點小數(shù):在最低位用0擴展

定點整數(shù):在高位用符號位擴展

?

注意:在一般在試題中出現(xiàn)加法運算(z=x+y)則是對補碼進行操作運算,所以需要將各個數(shù)(x,y,z)轉(zhuǎn)換為補碼

?

反碼表示

反碼的主要作用就是求補碼。原碼各位取反即為反碼,反碼末位加1既得補碼

(1).反碼的表示范圍和原碼相同。注意純小數(shù)的反碼不能表示為-1,純整數(shù)的反碼不能表示為-2^n

(2).在反碼表示中,用符號位x0表示正負,形式與原碼表示相同,0為正,1為負

?

移碼表示

[x]移=(模的指數(shù)-1) + 真值[x],

即對于整數(shù),模=2^(n+1) ,[x]移=2^(n+1-1) + x =?2^n + x

對于小數(shù),模=2=2^1,[x]移=2^(1-1) + x =?2^0 + x

(1)移碼的符號位:

0表示負數(shù),1表示正數(shù),和原碼、反碼、補碼不同

(2)移碼與真值的線性關系

移碼的順序和真值完全一致,因此移碼在表示階碼時可以方便的進行大小比較,其結(jié)果與真值一致

總結(jié)

以上是生活随笔為你收集整理的计组—原码、补码、反码、移码复习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。