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
相关推荐
极光代码工作室1 小时前
基于SpringBoot的课程预约系统
java·springboot·web开发·后端开发
Leighteen2 小时前
`try-finally` 里的 `return`:为什么 `finally` 会悄悄改掉返回值、吞掉异常
java·开发语言
名字还没想好☜2 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine
圆山猫2 小时前
[Virtualization](三):RISC-V H-extension 与 Guest 执行模式
android·java·risc-v
caishenzhibiao3 小时前
期货先行者主图 同花顺期货通指标
java·c语言·c#
史呆芬3 小时前
分布式事务实战:微服务跨服务数据一致性解决方案
java·后端·spring cloud
IT界的老黄牛3 小时前
限流命中后该怎么办:直接丢、阻塞等待、延迟重投三种姿势的取舍
java·rocketmq·redisson·令牌桶·削峰·分布式限流
daad7774 小时前
记录matlab状态机demo
java·网络·matlab
牡丹雅忻14 小时前
AES 加密模式演进:从 ECB、CBC 到 GCM 的 C# 深度实践
java·开发语言·c#
学者猫头鹰5 小时前
Java 8 核心新特性
java