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
相关推荐
花千树-01012 小时前
Java Agent 集成 MCP 工具协议:让 AI 真正驱动企业系统
java·ai·langchain·ai agent·mcp·harness·j-langchain
橘子编程12 小时前
GoF 23 种设计模式完整知识总结与使用教程
java·c语言·开发语言·python·设计模式
君以思为故12 小时前
认识Linux -- 线程同步与互斥
java·开发语言
被摘下的星星13 小时前
Java接口需要注意的细节
java·开发语言
培风图南以星河揽胜13 小时前
幻想简历!博主本人期望的 AI Agent 全栈简历:Java + Python + Vue3 跨语言实战,代码已开源!
java·人工智能·python
鬼先生_sir13 小时前
Dubbo:从入门到精通
java·dubbo·springcloud
艾莉丝努力练剑13 小时前
【Linux线程】Linux系统多线程(四):线程ID及进程地址空间布局,线程封装
java·linux·运维·服务器·c语言·c++·学习
有味道的男人13 小时前
电商效率翻倍:用 Open Claw 对接 1688 接口,快速实现图片选品 + 货源监控
java·开发语言·数据库
cheems952713 小时前
[SpringMVC] Spring MVC 留言板开发实战
java·spring·mvc
BioRunYiXue13 小时前
AlphaGenome:DeepMind 新作,基因组学迎来 Alpha 时刻
java·linux·运维·网络·数据库·人工智能·eclipse