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

原码、反码和补码

二进制的首位表示符号,0表示正数,1表示负数,从右向左依次进行二进制运算,一个字节有八个比特位,七个用来运算。
这三者其实就是计算机语言在解决运算过程中不断演化出来的更好的二进制形式。
原码只能正确运算正数;反码可以分别计算整数和负数,但是一旦跨0就无法正确计算;补码解决了上述问题,不论是正数负数还是跨0都能正确运算。
原码:运算负数时,符号固定,—1+1=—2。10000001+00000001=10000010.
反码:运算时,符号位不变,其他位与原码取相反,0变1,1变0,但是0有两个表示方式,11111111和00000000,导致—0+1=0,跨0计算出错。
补码:将0的表示方式只设置为00000000,—1取11111111,即在原码和反码的所有数向下错一位,多出了—128这个数(10000000)。

http://www.jsqmd.com/news/1883/

相关文章:

  • Русский язык
  • 基于Hex Editor Neo的二进制文件模板
  • 【F#学习】字符
  • kubebuilder创建Operator示例
  • 集训总结(八)
  • 使用try-finally结构执行状态重置
  • MCGS(Monitor and Control Generated System)组态软件
  • java03预习
  • x6831卡顿分析
  • 实测对比:权威榜单之微信排版软件Top5(含详细测评)
  • 详细介绍:华为MindIE 推理引擎:架构解析
  • 【F#学习】布尔运算优先级
  • 复杂背景验证码的识别思路与图像处理方法
  • 粘连字符验证码的分割与识别思路
  • 深入解析:【Spark+Hive+hadoop】基于spark+hadoop基于大数据的人口普查收入数据分析与可视化系统
  • part 8
  • 【本地音乐库】的搭建管理工具推荐
  • 扭曲变形验证码的图像处理与识别思路
  • AI 写代码 “翻车”?人类程序员 “偷笑”?AI能应对我们的问题吗?人工智能到底是“智能”还是“人工”?真相有点意思!
  • 每日收获
  • C++中std::map容器中元素删除方法汇总 - 详解
  • 物理半程与半时问题
  • 9.22 科研小结:不要总是预设成功,失败才是常态
  • STM32光强传感器实验详解 - 实践
  • 在CodeBolcks下wxSmith的C++编程教程——从Hello world开始讲述wxSmith使用基础
  • 详细介绍:C 语言内存操作函数:memcpy、memmove、memset、memcmp 详解
  • 今天做什么
  • 多模态算法QwenVL、KimiVL等算法原理 - Big-Yellow
  • 多模态模型——QwenVL2.5的微调以及强化学习代码操作 - Big-Yellow
  • 从用户态到内核态:Windows CC 技术深度解析(第一篇:DNS隧道)