假設你使用short byte(帶符號字節類型) 首先,-3的原碼(1000 0011)【最高位符號位】反碼:1111 1100 【符號位不變,按位取反】補碼:1111 1101 【反碼+1】
-3的補碼:11111101反碼加一
1、正數的補碼錶示:
正數的補碼 = 原碼
負數的補碼 = {原碼符號位不變} + {數值位按位取反後+1} or
= {原碼符號位不變} + {數值位從右邊數第一個1及其右邊的0保持不變,左邊安位取反}
以十進制整數+97和-97為例:
+97原碼 = 0110_0001b
+97補碼 = 0110_0001b
-97原碼 = 1110_0001b
-97補碼 = 1001_1111b
2、純小數的原碼:
純小數的原碼如何得到呢方法有很多,在這裏提供一種較為便於筆算的方法。
以0.64為例,通過查閲可知其原碼為0.1010_0011_1101_0111b。