目次
マシン番号と真理値
マシンの数
コンピューター内の数値の2進表現は、この数値のマシン番号と呼ばれます。マシン番号は符号付きです。コンピュータは数値の最上位ビットを使用して符号を格納します。正の数は0、負の数は1です。
例:10進法の数値+3、コンピューターのワード長は8ビット、2進法に変換すると00000011です。-3の場合は10000011です。
次に、00000011と10000011はマシンの数です。
真理値
最初のビットは符号ビットであるため、マシン番号の正式な値は実際の値と等しくありません。したがって、区別のために、真の値に対応する署名された機体番号がされる機体番号の真の値と呼ばれます。
例:0000 0001 = +000 0001 = +1の真の値、1000 0001 = –000 0001 = –1の真の値
元のコード、補完、補完
元のコード
元のコードは、符号ビットに絶対値の真の値を加えたものです。つまり、最初のビットで表されるシンボル、残りのビットを表す値です。
例:8ビットバイナリの場合:
[+1]オリジナル= 0000 0001
[-1]オリジナル= 1000 0001
最初のビットは符号ビットです...
最初のビットは符号ビットであるため、8ビットの2進数の範囲は[1111 1111、0111 1111]、つまり[-127、127]です。
補体
正の数の逆数はそれ自体です。
負の数の逆数コードは元のコードに基づいており、符号ビットは変更されず、残りのビットは逆になります。
例:[+ 1] = [00000001]オリジナル= [00000001]リバース
[-1] = [10000001]オリジナル= [11111110]アンチ
補体
正の数の補数はそれ自体です。
負の数の補数は元のコードに基づいており、符号ビットは変更されず、残りのビットは反転され、最後に+1になります。(つまり、逆コードに基づいて+1)
例:[+ 1] = [00000001]オリジナル= [00000001]リバース= [00000001]補数
[-1] = [10000001]元の= [11111110]逆= [11111111]補数
変換関係:
コンピューターでは、負の数は正の値の補数で表されます
例:6はint整数100、エンコーディングは次のとおりです。0000000000000000 00000000 00000110;
反転:11111111 11111111 11111111 11111001
追加1:11111111 11111111 11111111 11111010
public class FuShu { public static void main(String[] args) { System.out.println(Integer.toBinaryString(-6)); } }
動作結果: