如果大家接觸過二進位制,就一定會聽說過這些概念,然後估計會有百分之50以上的人,對這三個概念的理解不是很深刻,所以我在這裡給大家說一下。
原碼就是符號偽加上真值的絕對值,即用第一位表示符號,其餘為表示值。如果是8位1個位元組的二進位制
[+1]原=0000 0001
[-1]原=1000 0001
第一位是符號位,因為第一位是符號位了,所以8位的二進位制數的取值範圍就是:
[1111 1111,0111 1111] 也就是[-127,127]
正數的反碼就是它本身
負數的反碼,就是在正數的基礎上,各位取反。
[+1]原=0000 0001 [-1]反=1111 1110
正數的補碼就是它本身
負數的補碼是在反碼的基礎上+1
[+1]原=0000 0001 [-1]補=1111 1111
我覺得吧,原碼,是最適合人的大腦思考用的,因為後面出現了1-1=0,該怎麼算,拿原碼來說 0000 0001+1000 0001=10000010=-2,很顯然是不對的,然後出現了反碼,反碼1-1=0,該怎麼算, [0000 0001]反 + [1111 1110]反 = [1111 1111]反 = [1000 0000]原 = -0,然後出現了最後的補碼,補碼就解決了這個問題0用[0000 0000]表示1-1 = 1 + (-1) =[0000 0001]補 + [1111 1111]補 = [0000 0000]補=[0000 0000]原=0,如果想算使結果為0,就必須要用補碼實現。如果結果不為0的運算同樣可以使用補碼在得到正確結果,還有,當結果為負數時,計算結果也要用補碼的形式表示。
原碼 反碼 補碼
正數 原碼 反碼 補碼一樣 7 原 0 0000111 b 7 反 0 0000111 b 7 補 0 0000111 b 負數 原碼就是原來的表示方法 反碼是除符號位 最高位 外取反 補碼 反碼 1 7 原 1 0000111 b 7 反 1 1111000 b 7 補 1 1111001 b 當...
原碼 反碼 補碼
正數 原碼 反碼 補碼一樣 7 原 0 0000111 b 7 反 0 0000111 b 7 補 0 0000111 b 負數 原碼就是原來的表示方法 反碼是除符號位 最高位 外取反 補碼 反碼 1 7 原 1 0000111 b 7 反 1 1111000 b 7 補 1 1111001 b 當...
原碼 反碼 補碼
數值在計算機中表示形式為機器數 計算機只能識別0和1,使用的是二進位制,而在日常生活中人們使用的 是十進位制,正如亞里斯多德早就指出的那樣,今天十進位制的廣泛採用,只不過我們絕大多數人生來具有10個手 指頭這個解剖學事實的結果.儘管在歷史上手指計數 5,10進製 的實踐要比二或三進製計數出現的晚.摘...