两个原因:

1. cpu对二进制采用基本的加减法,比如以下两个有符号数相加,如果采用补码的方式:

(+10)  00001010
  +(-20)11101100
---------------------------

11110110

结果是-10。而如果采用反码的方式(就是左边最高位代表正负),如果让cpu进行简单的相加计算,那下边的计算结果就不是-10了,而是-30了。那如果像得到正确的结果,可能还需要修改cpu的硬件设计来满足有符号数(补码)表示的计算。

(+10)  00001010
  +(-20)10010100
---------------------------

10011110

具体补码,反码的概念可以参考王爽 汇编语言的附录2.

补充一句,cpu计算的时候,不管你是有符号数,还是无符号数,只是进行简单的2进制计算。但是会相应的设置标志位(标志寄存器),依据标志寄存器不同的标志位来判断,比如cmp,je等汇编指令。具体参考汇编语言11.9节。

计算机有符号数为什么采用补码表示相关推荐

  1. 计算机中有符号数为什么规定0为正,1为负?而且为了方便数值比较大小,甚至引入移码【就是在补码的基础上,符号位取反而已】。那么问题来了,为什么不一开始就规定1为正,0为负呢?

    计算机中有符号数为什么规定0为正,1为负?而且为了方便数值比较大小,甚至引入移码[就是在补码的基础上,符号位取反而已].那么问题来了,为什么不一开始就规定1为正,0为负呢? 由上图知,移码在数值比较上 ...

  2. 计算机有符号数加法,有符号数的表示法、加减法、补码

    有符号数的表示法.加减法.补码 摘要:本文将会说明有符号数的表示方法,有符号数正负数之间的跳变,有符号负数的加减法,为什么采用补码等方面进行分析. 我是学过计算机原理的,也有有符号数和无符号数的概念, ...

  3. 计算机中有符号数的表示

    文章目录 二进制数制 十进制 二进制 位模式 基本数据类型 无符号数的编码 有符号数的编码 原码(Sign-Magnitude) 反码(Ones' Complement) 补码(Two's Compl ...

  4. 假设计算机字长为8位 采用补码表示,假设某计算机的字长为8位,则十进制数(-75)10的补码表示为()。 - 问答库...

    问题: [单选] 假设某计算机的字长为8位,则十进制数(-75)10的补码表示为(). A . 01001011 B . 11001011 C . 10110100 D . 10110101 You  ...

  5. 怎么区分有符号数和无符号数

    转载至:http://www.myexception.cn/program/1264261.html 我还是搞不清指令本身是如何区分有符号数和无符号数!(问题汇总) 论坛的一个CSDN提问,对各方面的 ...

  6. 计算机怎么识别有符号数和无符号数的

    这个问题我在学习汇编语言的过程中一直很苦恼,在网上看了很多帖子,基本上都是说是人自己设定是有符号数还是无符号数的.这样的回答是很扯淡的,TM计算机和人脑又不是一个东西,看来很多人学东西基本上都是一知半 ...

  7. c语言之无符号/有符号数加减法运算

    c语言之无符号/有符号数加减法运算 转自:http://www.360doc.com/content/12/1129/15/1317564_250977880.shtml 1.加减运算指令是不区分有符 ...

  8. 有符号数与无符号数的加减法

    声明: 本博文源自:http://www.echojb.com/computer/2016/10/06/227097.html 在此感谢博主! 一.有符号数的加减法 1.符号数与无符号数的人为规定性: ...

  9. C - 有符号数和无符号数扩展

    C语言标准要求先进行数据大小的转换,之后再进行无符号和有符号之间的转换. C语言中的强制类型转换保持二进制位值不变,只是改变解释位的方式. 将无符号数转换为更大的数据类型时, 只需简单地在开头添加0, ...

最新文章

  1. git生成ssh keys步骤与使用
  2. arcgis server 开发
  3. 看源码,我为什么推荐IDEA?
  4. AI如何影响经济周期?诺奖得主表态:保持关注,我很乐观
  5. prooerties mysql_MySQL_第八章
  6. Asp.net MVC中防止HttpPost重复提交
  7. Django从理论到实战(part1)--虚拟环境
  8. 计算机应用能力power,全国专业技术人员计算机应用能力考试专用教材——PowerPoint 2003中文演示文稿5日通题库版(双色)(附光盘) - 中国考研网...
  9. ]flume高并发优化——(1)load_balance
  10. nginx基于域名的虚拟主机配置实战
  11. 格雷码转换成二进制c语言程序,基于PLC程序实现格雷码转换成二进制码.pdf
  12. 计算机保护插件无法安装,电脑无法安装ActiveX控件怎么办
  13. 如何选购计算机硬盘,如何挑选固态硬盘,教您电脑固态硬盘如何挑选
  14. C++程序的设计机制1 NVI机制
  15. 浅墨博客 六 笔记
  16. 计算机导论中逻辑与或非的公式,12.函数与公式之逻辑函数(or,and,not,if)
  17. 什么是5G?它能为我们带来什么样的便利?思维导图《5G时代》给你新认识
  18. CMD窗口下进入PowerShell和退出PowerShell
  19. RBP系统管理之业务角色管理
  20. js点击事件在苹果ios端失效的解决方法

热门文章

  1. bootstrap-star-rating星星插件使用介绍
  2. Java微服务架构有哪些功能?
  3. nokia 7 Android8,诺基亚 7获升Android 8.1:终于支持人脸识别
  4. 中国版steam平台来了!定名“蒸汽平台”,首批仅40款游戏?
  5. java的Comparator接口详解
  6. android 控制电脑 源代码 鼠标,如何用鼠标键盘来控制手机?这个开源工具可以帮你做到...
  7. List数组和集合相互转换
  8. 推荐三款性能超优的人脸识别SDK
  9. NVIDIA显卡(GPU)性能参数一览表
  10. python opnecv 百度手势api调用