1. 程式人生 > >原碼,反碼,補碼,及Java中數字表示方法

原碼,反碼,補碼,及Java中數字表示方法

進行 負數 java ava 一位 進制 數字 反碼 二進制

原碼:原碼是符號位加上真值的絕對值, 即用第一位表示符號, 其余位表示值. 如:如果是八位二進制1即用00000001表示,-1即用10000001表示。 反碼:正數的反碼就是其本身,負數的反碼是在其原碼的基礎上,符號位不變,其他各個位取反。 補碼:正數的補碼就是其本身,負數的補碼是在其原碼的基礎上, 符號位不變, 其余各位取反, 最後+1. (即在反碼的基礎上+1)。 利用原碼計算:1 - 1 = 1 + (-1) = [00000001]原 + [10000001]原 = [10000010]原 = -2,明顯並不正確,而當利用反碼時:1 - 1 = 1 + (-1) = [0000 0001]原 + [1000 0001]原= [0000 0001]反 + [1111 1110]反 = [1111 1111]反 = [1000 0000]原 = -0,雖然計算結果正確,但是0帶的負號沒有意義,利用補碼時1-1 = 1 + (-1) = [0000 0001]原 + [1000 0001]原 = [0000 0001]補 + [1111 1111]補 = [0000 0000]補=[0000 0000]原,就能解決這個問題,當利用Java進行計算1-1時所得結果為0,所以Java中數字是用補碼進行表示的。

原碼,反碼,補碼,及Java中數字表示方法