文章目录

  • 一、引言
  • 二、正文
  • 练习:

一、引言

本文转自知乎上 fhylhl 用户对于此同名问题的解答,本人觉得回答得非常鞭辟入里,因此咨询了作者是否可以转载,得到了肯定的回复后才进行了转载。

另外,什么是补码?补码的设计意义是什么?

让我们忘记公式,来看看作者的回答。

二、正文

很多人并不理解补码。补码就是同余啊。1000000是正128你知道吧,正负128模256是同余的。加减乘可以直接算也是同余的定理决定的,而不是凑出来的巧合,哪可能凑出这种东西?

8位只能表示256个数,0到255,但我还想表示一些负数怎么办呢?就用与该负数同余的正数来表示呗。-1=255,-2=254,等等。

建议脱离算数的思维方式,这其实就是一个环。模任何一个正整数(如256),可以把所有整数分类,比如模256可分256类,0 256 -256…是一类(余0类),1 257 -255…是一类(余1类),等等,这256类可看作环的元素,你看-128和128是同一个类里的(余128类),用一个代表另一个罢了。补码和普通的unsigned integers都是在每类中选一个数,unsigned integers选0到255,补码表示的有符号整数选-128到127,都是一个数恰好对应一个类。

当你明白这一切后,补码就是顺理成章的事。

练习:

设计用8位二进制数表示13至268这256个数的方案。要求作加减乘运算的时候,可以直接把编码当正整数算,能得到正确结果。

2020-10-27(补码10000000为什么可以表示-128?)相关推荐

  1. 2020.10.27 北京阿里大文娱一面总结

    2020.10.27 北京阿里大文娱一面总结 先说结果:没过

  2. 398、Java框架52 -【Hibernate - 分页、两种获取方式】 2020.10.27

    0.目录 1.分页 2.分页,从第3个开始,一共查询5个Product 3.延迟加载 4.对于id不存在的对象的处理 5.参考链接 1.分页 使用Criteria进行分页查询 无论你使用的是Oracl ...

  3. 2020.10.27【GWAS】丨使用vcftools绘制pi(θπ) 选择消除分析图

    这两天在整理GWAS流程,发现绘制θπ选择消除分析图在网上只能找到计算π的代码,但是没有绘图代码,于是自己搞了一下,供大家参考. vcftools --vcf AxiomGT1.calls.vcf - ...

  4. 测试开发工作者日记:2020.10.21

    最近忙着搬家,西北旺那边村委会和某开发商 联合下达了腾退指令,所有人一周内滚蛋.作为每次抵挡的靠山-房东 也终于妥协了.周围很大一片区域的几乎半个海淀和半个昌平的公寓和房东们,都一瞬间知道了这个大新闻 ...

  5. 2020.10月做题记录

    PS:本博客仅选择了一些作者认为有必要记录的题目进行记录. week -1 2020.09.28-2020.10.4 军训+国庆放假-就这样又废了一周- 2020.10.04 回来第一天完全没有状态- ...

  6. 国办发明电〔2020〕27号:国务院办公厅关于2021年部分节假日安排的通知

    国务院办公厅关于2021年部分节假日安排的通知 国办发明电[2020]27号 各省.自治区.直辖市人民政府,国务院各部委.各直属机构: 经国务院批准,现将2021年元旦.春节.清明节.劳动节.端午节. ...

  7. 泰坦以太(以太流说) titan_ysl 2020.01.27

    泰坦以太(以太流说) titan_ysl 2020.01.27 从学习物理到现在,几十年来,我一直认为以太的存在能最合理地解释许多物理现象,但由于一直没人给于其适当的定义,导致其被废弃,从而让现代物理 ...

  8. (十八:2020.10.10)MICCAI 2020 追踪之论文纲要(译)<上>

    讲在前面 暂时先更新PART I, 持续更新. 论文目录 PART I <Machine Learning Methodologies 机器学习方法> 论文 概要 1.Attention, ...

  9. 2020.10.19-10.26 人工智能行业每周技术精华文章汇总

    前段时间,和一个朋友聊天. 聊最近在做的一些事情,比较有意思的是: 他说,很多事情,刚开始想法挺多,但平时时间太少,下班就想休息休息,不想动了. 这可能也是很多人面临的问题,很多事想尝试,但是觉得很麻 ...

最新文章

  1. java正则 括号_java正则表达式获取大括号小括号内容并判断数字和小数亲测可用...
  2. 代码审查就是在排大便——你懂的!
  3. c bool 类型检查_C语言和C+的区别是什么?8个点通俗易懂的告诉你!
  4. Mysql 错误 Code: 1093. You can't specify target table for update in FROM clause
  5. Android Material Design :LinearLayoutCompat添加分割线divider
  6. [创业经验] 白手起家的艺术
  7. flowable实战(一)flowable与spring boot集成
  8. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期下跌1.97%
  9. mysql bit类型_Mysql:bit类型的查询与插入
  10. JavaScript数据结构——字典(Dictionary)
  11. 追随你心 —— 聊聊VMCloud
  12. java常见反编译工具
  13. 调试Python代码
  14. 行政区划代码(道路要素)
  15. arcgis两点之间连线_three3D地图设置两点之间的连线
  16. 刷题——必备十二大网站
  17. ue转换文件格式linux,关于windows与unix之间文件格式转换问题。UE编辑器中(CR/LF)问题...
  18. Linux之ARM(IMX6U)裸机主频和时钟配置
  19. unipp怎么打包微信公众号_uni-app微信小程序运行和打包
  20. Robot Framework自定义测试库

热门文章

  1. 成功解决AttributeError: module ‘tensorflow‘ has no attribute ‘placeholder‘
  2. DL之CNN:卷积神经网络算法应用之卷积神经网络实践技巧(DA/DP/WI/BN/H/O/R)、优化技术经验之详细攻略
  3. Graphviz之DT:手把手教你使用可视化工具Graphviz将dot文件转为结构图的png文件
  4. Ubuntu18.04 JDK8
  5. YARN中的失败分析
  6. java基础之构造方法
  7. linux系统解决boot空间不足
  8. sql语句(access语句)第8条数据到第18条数据
  9. 软件工程作业----个人读后感
  10. 使用css的类名交集复合选择器