反碼補碼原碼
2023-06-02 17:04:24 閱讀(137)
補碼原碼反碼是什么意思?
原碼:假設機器字長為n,原碼就是用一個n位的二進制數,其中最高位為符號位:正數是0,負數是1。剩下的表示概數的絕對值,位數如果不夠就用0補全。 PS:正數的原、反、補碼都一樣,0的原碼跟反碼都有兩個,因為這里0被分為+0和-0。 反碼:在原碼的基礎上,符號位不變其他位取反,也就是就是0變1,1變0。 補碼:在反碼的基礎上加1。
原碼,反碼,補碼?
用16bit表示,三個碼分別是:原碼、反碼、補碼 -0:1000000000000000、1111111111111111、0000000000000000 -6875:1001101011011011、1110010100100100、1110010100100101 -11:1000000000001011、1111111111110100、1111111111110101 如果是8位,:原碼、反碼、補碼分別為: -0:10000000、11111111、00000000 -11:10001011、11110100、11110101 6875無法表示,因為8位的最大表大范圍是-128~127 正數:原碼=補碼 負數: 原碼=正數部分(去掉負號)的二進制值,且符號位(最左邊的比特位)為1 反碼=正數部分(去掉負號)的二進制值,按位取反 補碼=反碼+1
未經允許不得轉載,或轉載時需注明出處