首页 > 解决方案 > 将十进制数 7710 转换为 8 位二进制二进制补码

问题描述

我有一个关于二进制补码表示的问题,问题是将十进制数 7710 转换为 8 位二进制二进制补码:

7710 divide by 2 = 3855 remainder 0
3855 divide by 2 = 1927 remainder 1
1927 divide by 2 = 963 remainder 1
963 divide by 2 = 481 remainder 1
481 divide by 2 = 240 remainder 1
240 divide by 2 = 120 remainder 0
120 divide by 2 = 60 remainder 0
60 divide by 2 = 30 remainder 0
30 divide by 2 = 15 remainder 0
15 divide by 2 = 7 remainder 1
7 divide by 2 = 3 remainder 1
3 divide by 2 = 1 remainder 1
1 divide by 2 = 0 remainder 1

7710 = 1111000011110

1111000011110 + 1 = 1111000011111

我已经找到了值,但我的问题是如何以 8-bit 的形式表示它?

谢谢

标签: binarytwos-complement

解决方案


你不能。一个 8 位二进制补码数只能表示 [-128;127] 范围内的数字。7710不在这个范围内,所以你不能代表它。
为什么-128?因为 100 0000 是您可以表示的最低数字,即十进制表示中的 -128。
为什么是127?因为 0111 1111 是您可以表示的最高数字,即十进制表示的 127。


推荐阅读