02-二进制转换,原码 反码 补码

二进制是什么?
为什么用二进制?

计算机底层只能识别二进制。

计算机底层只识别二进制是因为计算机内部的电子元件只能识别两种状态,即开和关,或者高电平和低电平。

二进制正好可以用两种状态来表示数字和字符,因此成为了计算机最基本的表示方法。

在计算机内部,所有的数据都被转化为二进制形式进行处理和存储。

虽然计算机可以通过不同的编程语言和程序来处理不同的数据类型和格式,但最终都需要将其转化为二进制形式才能被计算机底层识别和处理。

进制之间的转换



什么事是 原码 反码 补码?

原码反码补码是计算机二进制的三种表示形式。

计算机在底层都是采用二进制补码形式表示的(为了能准确的计算)。

二进制位最高位称为符号位, 0 为正数, 1为负数。

正数的 原码 反码 补码都是一样的

javascript 复制代码
-34
128 64 32 16 8 4 2 1
 0    0   1  0  0 0 1 0

原码 :负数的原码 取绝对值的二进制,将符号位写成1   
1010 0010 
反码: 在原码的基础上,除了符号位,其余都取反 
1101 1101 
补码: 在反码的基础上加1 
1101 1110
相关推荐
凤凰院凶涛QAQ1 小时前
《Java版数据结构 & 集合类剖析》栈与队列:“push/pop 是栈的灵魂,offer/poll 是队列的骨架——四组 API,两种人生”
java·开发语言·数据结构
掘金_答案2 小时前
上线那天,一个 ConcurrentHashMap 差点送走我的 AI 客服——3 天排查 JVM 血泪史
java·后端·架构
猿与禅2 小时前
CosId 分布式 ID 生成器完全教程:从架构原理到生产落地
java·shardingsphere·雪花算法·分布式id·高性能·cosid·号段模式
MindUp2 小时前
企业网盘权限模型解析:多层级访问控制与审计能力选型指南
java·linux·运维
NG4772 小时前
【软件设计与体系结构】-策略设计模式
java·设计模式·软件工程
程序员天天困3 小时前
优雅记录操作日志:从注解到 SpEL 的全链路实践与开源方案对比
java·后端
战血石LoveYY3 小时前
Integer类型超限,导致数据异常
java·算法
乐观的Terry4 小时前
1、为什么要自己造发布系统
java·spring boot·后端·spring cloud·架构
兰令水5 小时前
hot100【acm版】【2026.7.13打卡-java版本】
java·开发语言·数据结构·算法·leetcode·面试
嗝屁小孩纸5 小时前
Maven版本升级&Nexus推送极简执行步骤
java·elasticsearch·maven