当前位置: 首页 > news >正文

C语言补码作用

补码主要是为了cpu运算器在进行减法运算时避免借位而设立的。

  在早期,cpu中的运算器部分,只要实现一个加法器就可以完成四由算术运算。

  因为计算机中的数值编码是有限位数的,所以减法实际上相当于加上减数的补码,而乘法是循环的加法,除法是循环的减法。这种思想在数学上叫转化思想,在兵法上与”借刀杀人“、”借尸还魂“的借是“异曲同工”,用牛顿的话叫做“站在巨人的肩上“。

  举例说明,以8位的二进制为例,要计算1-1,只要用1加上-1的补码即可。
  -1的原码:1000 0001,最高位是符号为,1表示负数,0表示正数。
  -1的反码:1111 1110, 按位取反是除符号位以外,其它每个位上的0变成1,1变成0。
  -1的补码:1111 1111,在反码的基础上是加上1即为补码。
  1-1 = 1+ 1111 1111 = 1 0000 0000 ,因为只有8位的二进制表示方法,此时溢出了,溢出位在硬件上是没法表示的,因此结果还是0.

转载于:https://www.cnblogs.com/lsgsanxiao/p/5113305.html

相关文章:

  • Weblogic - 安装和配置
  • 百度地图3.0初用笔记(二)
  • 既然选择了远方,就只顾风雨兼程!
  • CMake入门(二)
  • 第六章 移动自动化测试工程的开展(上)
  • kafka消息监控-KafkaOffsetMonitor
  • java Graphics2D 画图
  • Linux学习之给指定用户发邮件
  • PHP的学习--生成器Generators
  • 20160115学习日志
  • C#基础回顾(三)—索引器、委托、反射
  • UltraEdit 脚本 实现查找替换
  • Jan 17 - Permutations II; BackTracking; Array;
  • LLDB 打印 frame
  • JS魔法堂:再识Bitwise Operation Bitwise Shift
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • es6要点
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • JAVA SE 6 GC调优笔记
  • jquery cookie
  • maya建模与骨骼动画快速实现人工鱼
  • PHP变量
  • python docx文档转html页面
  • spark本地环境的搭建到运行第一个spark程序
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • Vue组件定义
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 浅谈web中前端模板引擎的使用
  • 深度学习入门:10门免费线上课程推荐
  • 深入 Nginx 之配置篇
  • 说说动画卡顿的解决方案
  • 微信小程序实战练习(仿五洲到家微信版)
  • 白色的风信子
  • Spring Batch JSON 支持
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (ibm)Java 语言的 XPath API
  • (NSDate) 时间 (time )比较
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (二)hibernate配置管理
  • (转)负载均衡,回话保持,cookie
  • (转)一些感悟
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .a文件和.so文件
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .netcore如何运行环境安装到Linux服务器
  • .net流程开发平台的一些难点(1)
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • .net中调用windows performance记录性能信息
  • @entity 不限字节长度的类型_一文读懂Redis常见对象类型的底层数据结构
  • []AT 指令 收发短信和GPRS上网 SIM508/548