如何将二进制浮点数转换为*负*二进制浮点数?

时间:2018-09-17 13:35:11

标签: binary numbers bit-representation

如何将二进制浮点数转换为二进制浮点数?

例如:将十进制数字“ -39,7”转换为二进制。

整数:

39 DEC to BIN:
39/2 = 19 | 1 Rest
19/2 = 9  | 1 Rest
9/2  = 4  | 1 Rest
4/2  = 2  | 0 Rest
2/2  = 1  | 0 Rest
1/2  = 0  | 1 Rest
39 DEC == 111001 BIN

浮动:

0,7 DEC to BIN:
0,7 * 2 = 1,4 -> 1
0,4 * 2 = 0,8 -> 0
0,8 * 2 = 1,6 -> 1
0,6 * 2 = 1,2 -> 1
0,2 * 2 = 0,4 -> 0
0,4 * 2 = 0,8 -> 0 (repeating)
0,7 DEC == 0,101100 BIN

正数:
39,7 DEC == 111001,101100 BIN


现在我拥有正的二进制数,我想取反它。 我用1和2的补码进行了尝试,但这显然不正确,如在交叉检查中所见:

否定DEC 39.7到-39.7 DEC:

111001,101100 
000110,010011 | 1's complement
000111,010100 | 2's complement

对照:

证明39,7 + (-39,7) = 0

0111001,101100 | +39,7
0000111,010100 | -39,9
----------------------
1000001,000000 | != 65

0 个答案:

没有答案