原码,反码,补码

简介: 原码是二进制的直观表示,符号位决定正负;反码用于解决负数计算问题,负数按位取反;补码在反码基础上加1,解决跨0误差。计算机中所有数据存储与运算均采用补码形式,可准确处理正负数运算,并能多表示一个特殊值-128。

原码, 反码, 补码

原码:

十进制数据的二进制表现形式, 最左边是符号位, 0为正, 1为负.

原码的弊端:

1,利用原码进行计算的时候, 如果是整数完全没有问题.

2,但是如果是负数计算, 结果就出错, 实际运算的方向, 跟正确的运算方向是相反的.

反码出现的目的:

为了解决原码不能计算负数的问题而出现.

反码的计算规则:

正数的反码不变, 负数的反码在原码的基础上, 符号位不变. 数值取反, 0变1, 1变0.

反码的弊端:

负数运算的时候, 如果结果不跨0, 是没有任何问题的, 但是如果结果跨0, 跟实际的结果会有1的偏差.

补码出现的目的:

为了解决负数计算时跨0的问题而出现的.

补码的计算规则:

正数的补码不变, 负数的补码在反码的基础上+1.

另外补码还能多记录一个特殊的值-128, 该数据在1个字节下, 没有原码和补码.

补码的注意点:

计算机中的存储和计算都是以补码的形式进行的.

相关文章
|
编译器 C语言 C++
【C语言】malloc()函数详解(动态内存开辟函数)
【C语言】malloc()函数详解(动态内存开辟函数)
5050 2
|
存储 编译器 C语言
【深入理解函数栈帧:探索函数调用的内部机制】
【深入理解函数栈帧:探索函数调用的内部机制】
522 0
|
9月前
|
SQL 关系型数据库 MySQL
|
8月前
|
算法 编译器 C语言
【2026最新】MinGW64官网下载安装保姆级教程(附安装包+图文并茂)
MinGW-w64 是 Windows 下的轻量级 GNU 编译器集合,支持 C/C++ 编译,无需虚拟机即可生成独立 exe 文件。它体积小、免安装、静态链接运行库,兼容 Win10/11 与旧系统,配置简单,广泛用于算法开发、刷题及教学场景。
15535 5
|
8月前
|
域名解析 网络协议 Linux
Linux网络基础完全指南(小白也能看懂的网络入门教程)
本教程系统讲解Linux网络基础,涵盖IP地址、子网掩码、网关、DNS等核心概念,介绍ifconfig、ip、ping等常用命令及网络配置文件的使用方法,助力掌握Linux网络配置技能。
699 117
|
9月前
|
存储 人工智能 运维
一行代码实现智能异常检测:UModel PaaS API 架构设计与最佳实践
阿里云 UModel PaaS API 发布:通过 Table + Object 双层抽象,屏蔽存储差异、自动处理字段映射与过滤条件,让每一个实体都成为一个‘可调用的对象’,真正实现‘以实体为中心’的智能可观测。
1191 181
|
9月前
|
Java 调度
什么是分片广播任务
本文介绍XXL-JOB的分片广播机制,通过集群执行器动态分片处理任务。调度中心为每个执行器分配分片参数,实现任务并行处理,提升效率。适用于大数据量分布式场景,支持动态扩容,每台机器处理部分数据,显著降低耗时。开发时可通过`getShardIndex()`和`getShardTotal()`获取分片信息,灵活控制业务逻辑。
|
9月前
|
存储 NoSQL Linux
2.4 Linux系统中的安装启动和连接
本文介绍在Linux系统部署单机MongoDB用于生产环境的完整步骤,包括下载、解压、目录配置、日志与数据路径设置、配置文件编写及服务启停方法。操作类似Windows,通过配置`mongod.conf`实现后台运行,支持命令行与图形工具连接,并提供防火墙处理与安全关闭服务方案,确保稳定运行。
|
8月前
|
存储 Linux 文件存储
深入理解Linux文件系统(从零开始掌握文件存储与管理)
本教程深入浅出地讲解Linux文件系统核心机制,涵盖ext4文件系统、inode结构、磁盘管理及常用命令(如df、ls -i、lsof等),揭示文件存储原理与常见问题(如删除文件后空间未释放)的根源,助你掌握Linux底层知识,提升系统管理能力。