binary - 二进制表示 - 7 位二进制补码
问题描述
我们可以用 7 位二进制补码表示的最大负数是多少?
解决方案
使用 7 位 2 的补码,它的范围可以从 -64 到 63。(传统上,7 位只能上升到 2^n-1,即 128,但 MSB 保留用于符号,所以我们可以有 6 位来表示数据。我们将得到 64 个正值和 63 个负值,答案应该是 -64、63。)
不,因为在二进制补码中,最高有效位是符号位。0000001 是 +1,一个正数。
这就是为什么二进制补码 7 位数的范围是 -64 到 63,因为 64 是不可表示的(否则它将是负数)。
最大的负数是 1000000。前导 1 告诉您它是负数,要获得数字的大小,您翻转所有位 (0111111),然后加一个 (1000000 = 64)。所以得到的数字是 -64 到 63。
推荐阅读
- python-3.x - 有没有办法指定文档的结构,以便谷歌视觉(OCR)以特定的庄园处理文档?
- php - 如何从特定 PDO 驱动程序对象中获取所有方法的完整列表?
- python - 将一个非常大的 numpy.ndarray 存储到数据框的单元格中
- javascript - 使用 Vue.JS 动态添加行到表单
- node.js - 无法在节点上安装 puppeteer 包
- r - 如何解决由于“S3方法和矩阵列数必须匹配”导致的一堆损坏包的错误
- kubernetes - 入口控制器无法读取密钥
- reactjs - 如何使用 redux saga 等待操作和 API 调用完成?
- c# - 单击“注册”按钮时,将表单的数据保存在数组或 Json 中
- laravel - laravel如何调用方法