だから私は数字を表現したい-12.5
。したがって、12.5 は次のようになります。
001100.100
分数を計算しない場合、それは簡単-12
です:
110100
しかし、-12.5 とは何ですか? ですか110100.100
?この負の部分を計算するにはどうすればよいですか?
だから私は数字を表現したい-12.5
。したがって、12.5 は次のようになります。
001100.100
分数を計算しない場合、それは簡単-12
です:
110100
しかし、-12.5 とは何ですか? ですか110100.100
?この負の部分を計算するにはどうすればよいですか?
10 進数システムでは、各数値位置 (または列) は (右から左に数値を読み取る) を表します: 単位 (10^0)、10 (つまり 10^1)、100 (つまり 10^2) など。
符号なしの 2 進数では、基数は 2 であるため、各位置は次のようになります (ここでも右から左に読み取ります): 1 (つまり 2^0)、2 (つまり 2^1)、4 (つまり 2^2) など。
例えば
2^2 (4), 2^1 (2), 2^0 (1).
符号付き 2 の補数では、最上位ビット (MSB) が負になります。したがって、番号記号を表します。負の数は '1'、正の数は '0' です。
3 ビットの数値の場合、行は次の値を保持します。
-4, 2, 1
0 0 1 => 1
1 0 0 => -4
1 0 1 => -4 + 1 = -3
固定小数点 (分数) システムによって保持されるビットの値は変更されません。列の値は前と同じパターンに従います。基数は (2) ですが、べき乗は負になります。
2^2 (4), 2^1 (2), 2^0 (1) . 2^-1 (0.5), 2^-2 (0.25), 2^-3 (0.125)
-1 は常に111.000
-0.5 になり、それに 0.5 を追加します。111.100
あなたの場合110100.10
は -32+16+4+0.5 = -11.5 です。あなたがしたことは、-12 を作成し、0.5 を引くのではなく 0.5 を追加することでした。
実際に必要なのは -32+16+2+1+0.5 = -12.5 =110011.1
負の整数になるか、定義された制限に達するまで、数値を何度も2倍にしてから、それに応じて小数点を設定できます。
-25 は 11100111 なので、-12.5 は 1110011.1 です。
So;U は 2 の補数表現で -12.5 を表現したい
12.5:->> 01100.1
(01100.1) の 2 の補数:->>10011.1
2 の補数表現の加重コード プロパティをチェックして ans を検証します (MSB 加重は -ve)。-16+3+.5=-12.5 になります。