数据编码:原码、反码、补码- 野牛程序员讲少儿编程
什么是数据编码?
计算机只能处理二进制(0 和 1),那怎么让计算机理解“正数”和“负数”呢?
这就需要用一种方法把正负数变成二进制。常见的有三种:
先看二进制基础
假设只用8 位二进制表示数字(也叫 1 个字节):
最高位是符号位:0表示正数,1表示负数
剩下的 7 位表示数值
比如:
原码、反码、补码图解对比
备注:
正数三种编码都一样
负数才有区别,且补码 = 反码 + 1
🧮 为什么要用“补码”?
计算机中只有加法器,所以减法也要变成加法来算:
例如:
用补码可以这样做(8位):
使用“补码”可以直接用加法器处理所有加减运算!
🧠 小口诀记忆:
C++示例演示
课堂思考题
原码、反码、补码谁能唯一表示 0?
为什么补码更适合做加减法?
反码最大的问题是什么?
请用补码计算:6 - 9
野牛程序员教少儿编程与信息学奥赛
宜宾市野牛网络科技有限公司专业微信小程序开发、网站建设、软件开发等