architecture - 使用最小的位将 -51 转换为有符号幅度的二进制数来表示它
问题描述
我从教科书中得到了这个问题,我不确定我是否理解“使用最少的位数”部分。
二进制的 51 是0011 0011
我想得到-51,我们转换成二的恭维。
0011 0011
-flip bits-
1100 1100
- add one -
---------
1100 1101
1100 1101
两个恭维中的 -51 也是如此。但是我们如何用最少的位数来表示有符号的幅度呢?被那部分弄糊涂了。
解决方案
而不是0011
0011
你应该使用0110011
,因为你只需要 6 位数字来制作 51,并为符号多取一位。
推荐阅读
- python - AttributeError:“WindowsPath”对象没有 Discord.py 的“编码”属性
- bash - 将 file1 中的字符串与 file2 中的字符串匹配
- python - PyQt 在现有的前面动态添加小部件
- github - 编程团队使用 github
- cql - 检查带有 WMS 的 CQL_FILTER 是否返回至少一项功能
- javascript - 如何从云功能触发 FCM 以更新 Firestore 中的特定字段?
- java - Android 测试编排器在多模块项目中失败
- python - PEP8 插件在 Sublime 3 中破坏了我的类型提示代码
- django - 如何在 Django ModelAdmin 中调用用户变量
- ruby-on-rails - 找出哪个 gem 正在请求 rb-inotify