此链接应该可以帮助您解决问题 - 它非常简短且直截了当:
http://www.cs.uwm.edu/classes/cs315/Bacon/Lecture/HTML/ch04s11.html
8 位有符号幅度的简短说明:
您所需格式的数字如下所示:
1000 0110,等于十进制的-6:
1*** **** - 表示数字有符号(减号),
*000 0110 - 包含数字的二进制表示。
当您有一个正数时,您只需将其转换为二进制形式:
(D) 7 = 0000 0111
(D) 20 = 0001 0100
当您有一个负数(例如 -7)时,您的最高位等于 1:
1...
并且该值被简单地转换为二进制形式:
(D) 7 = 111 = 000 0111
然后你把它结合起来:
(D) -7 = 1000 0111。
请注意,在这种格式中,您只能保存范围从 -127 到 127 的数字 - 您只剩下 7 个低位用于值,而第 8 位必须用于符号。
1s 互补示例:
(D) -7 = 1000 0111 8 位有符号。
当您添加一个数字并且它是 1 的补数时,您应该得到:1111 1111
1000 0111 - 您的号码
0111 1000 + - 你的号码补 1
^^^^^^^^^
1111 1111
形式上,可以进行如下操作:
1111 1111
1000 0111 - - 你的号码
^^^^^^^^^
...
2s互补:
当您计算 1s 互补时,只需将其加 1:
1000 0111 - 您的号码
0111 1000 - 你的号码补 1
0111 1001 - 你的号码的 2s 补码
尝试自己做这件事并发布你的答案 - 这样你会学到更多。