原码,反码,补码

原码

什么是原码

原码:十进制数据的二进制表现形式,最左边是符号位,0为正,1为负

最大值 0 1 1 1 1 1 1 1 => +127

最小值 1 1 1 1 1 1 1 1 => -127

原码的弊端

利用原码对正数进行计算是不会有问题的

但是如果是负数计算,结果就会出错,实际运算结果,跟我们预期结果是相反的。

反码

目的

为了解决不能计算负数的问题而出现的

计算规则

正数的反码不变,负数的反码在源码的基础上,符号位不变,数值取反,0变1,1变0。

例:

-56 原码 1 0 1 1 1 0 0 0

-56 反码 1 1 0 0 0 1 1 1

反码的弊端

负数运算时,结果不跨0,没问题,结果跨0,跟实际结果会有1 的偏差

补码

目的

为了解决负数计算时跨0的问题而出现的

计算原则

正数的补码不变,负数的补码在反码的基础上+1

正数的原码,反码,补码相同

补码的注意点

计算机中存储和计算机以补码的形式进行的

-128 = > 1 0 0 0 0 0 0 0 没有原码和反码

所以一个字节取值单位 -128~127

<< 向左移动,低位补0

(8) 00001000 << 2 = > (32) 00100000

右移: >>向右移动,高位补0 或 1(补1补0跟原来的保持一致)

(8) 00001000 >> 2 => (2) 00000010

无符号右移 >>> 向右移动,高位补0

相关推荐
李白你好1 小时前
今日网络技术热点:【计算机网络 | 数据链路层8:CSMA/CD
网络·计算机网络
Zguigo15 小时前
lesson30-32计算机网络第四章:网络层核心三课(作用、IP协议、IPv4地址)
tcp/ip·计算机网络·php
s_w.h17 小时前
【 计网 】计算机网络基础
服务器·计算机网络
Zguigo18 小时前
lesson19-23计算机网络数据链路层完全指南:从帧封装到滑动窗口协议
网络·计算机网络
zyf1044161 天前
暑期实践日志 Day33:整体复盘核查视频,完善剪辑成果
学习·计算机网络·剪辑·暑期实践·课题任务
Zguigo1 天前
lesson37-39计算机网络核心概念精讲:从路由器到UDP的实战与备考指南
计算机网络·udp·智能路由器
Zguigo1 天前
lesson10-13计算机网络物理层三节课速通:数据通信、信道、编码与传输介质(含考试重点)
计算机网络
却道天凉_好个秋1 天前
计算机网络:IPSec协议
计算机网络·ipsec
搬砖的小码农_Sky1 天前
LANDrop 在 Ubuntu 上的安装方法
linux·运维·计算机网络·ubuntu
Zguigo1 天前
lesson27-29计算机网络第三章精讲:交换机与VLAN的工作原理、区别与实战应用
网络·计算机网络·负载均衡