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

补码底层逻辑探讨

在计算机里面以二进制进行存储,二进制并不能区分正负数

为了处理负数,人们想了很多办法

1.原码

首先,很直观的区分方法就是设置一个flag

在二进制前面加一个符号位,0是正、1是负

但是在电路里面处理这样的信号却很复杂(主要是符号位增加了许多要考虑的事情,MUX等等)

2.补码

正数的补码和原码一样,负数的补码要取反加一,决定了最高位是0的为正数,是1为负数

由于x和x的补码做和运算等于0

这样a - b就可以当成a + (-b),可以将正负、加减统一为和运算,在电路中一个二进制加法器就可以了(有种相对论化繁为简、大统一的感觉)

http://www.xdnf.cn/news/161119.html

相关文章:

  • Web渗透之系统入侵与提权维权
  • 100个节点的部署,整合Docker、Kubernetes和Jenkins的详细设计
  • setup语法糖
  • JVM知识点(一)---内存管理
  • EXPLAIN使用教程EXPLAIN命令分析MySQL查询性能
  • LIDC-IDRI数据集切割代码教程【pylidc库】
  • 【Linux】web服务器的部署和优化
  • 大规模数据同步后数据总条数对不上的系统性解决方案:从字段映射到全链路一致性保障
  • dav_pg12_表膨胀系列一 优化
  • Android学习总结之自定义View绘制源码理解
  • 正确应对监管部门的数据安全审查
  • AI算法优化建筑形态与能耗管理 实现方案和技术架构
  • RT-Thread学习笔记(四)
  • 财务管理域——经营决策支持系统
  • Day102 | 灵神 | 二叉树 合并二叉树
  • 开发首个Spring Boot应用
  • 访问Redis时遇到 unknown command ‘FT.INFO‘, with args beginning with 错误的解决方案
  • MATLAB中调用CPLEX求解工具箱
  • Python + Playwright:如何在Docker 容器运行测试?
  • 0x27 A* + 0x28 IDA*
  • Adobe Photoshop(PS)2022 版安装与下载教程
  • 前端开发本地配置 HTTPS 全面详细教程
  • HackMyVM - Chromee靶机
  • 人工智能:入门阶段学习路径
  • per-task affinity 是什么?
  • 30天通过软考高项-第四天
  • Python循环语句-for循环(基础语法,range语句,临时变量作用域,嵌套应用)
  • 【计算机视觉】CV实战项目- DFace: 基于深度学习的高性能人脸识别
  • leetcode201.数字范围按位与
  • S参数的含义