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
相关推荐
xqqxqxxq19 小时前
Java AI智能P图工具技术笔记
java·人工智能·笔记
谷雨不太卷19 小时前
进程的状态码
java·前端·算法
顾温19 小时前
default——C#/C++
java·c++·c#
空中海19 小时前
02 ArkTS 语言与工程规范
java·前端·spring
楚国的小隐士19 小时前
在AI时代,如何从0接手一个项目?
java·ai·大模型·编程·ai编程·自闭症·自闭症谱系障碍·神经多样性
yaki_ya20 小时前
yaki-C语言:从概念基础到内存解析---数组(array)完全指南
java·c语言·算法
刃神太酷啦20 小时前
扒透 STL 底层!map/set 如何封装红黑树?迭代器逻辑 + 键值限制全手撕----《Hello C++ Wrold!》(23)--(C/C++)
java·c语言·javascript·数据结构·c++·算法·leetcode
亚历克斯神20 小时前
Java 25 模式匹配增强:让代码更简洁优雅
java·spring·微服务
星辰徐哥20 小时前
Rust异步测试与调试的实践指南
android·java·rust
星河耀银海20 小时前
C++ 运算符重载:自定义类型的运算扩展
android·java·c++