原码、反码、补码基本概念

news/2024/11/29 18:09:06/

基本概念

原码:符号位加上真值的绝对值,也就是第一位表示符号。其余位表示值(0为正值,1为负值)

原码是人脑最容易理解和计算的表示方式

反码:正数的反码是其本身,负数的反码是在其原码的基础上符号位不变,其余各位取反

一个反码表示的负数是无法无法直观地看出其数值的通常需要将其转换为原码在进行计算

补码:正数的补码是其本身,负数的补码是在其原码的基础上除了符号位进行取反,并且在最后一位加1

对于负数的补码的表示方式也是人脑无法直观的看出其数值的,通常需要转化成原码的形式进行计算

一个小小的栗子:
【+1】 = 【0000 0001】原 = 【0000 0001】反 =【0000 0001】补
【-1】 = 【1000 0001】原 = 【1111 1110】反 = 【1111 1111】补

使用原码,反码、补码的原因

原码:
原码是最简单的整数表示方法,直接使用二进制表示数值,原码的优点是直观,容易理解。然而,原码的缺点是加法和减法运算复杂,需要额外的规则来处理符号位
使用原码进行计算:
1-1 = 1+(-1)=【0000 0001】原+【1000 0001】原 = 【1000 0002】原 = -2 (计算结果是错误的)

原码表示让符号也参加计算,显然对于减法来说计算结果是错误的,这也就是为何计算机内部不使用原码表示一个数的原因

反码:为了解决上面的原码在加减运算值中的问题,而引入了反码:
反码计算:
1-1 = 1+(-1)=【0000 0001】原 + 【1000 0001】原 =【0000 0001】反+【1111 1110】反 =【1111 1111】反 = 【1000 0000】 = -0

通过上面的计算结果可以发现真值部分是正确的,但是出现唯一的问题,在0这个特殊的值人对+0和-0的认识时一样的所以0带符号是没有作用的,但是0会出现两个不同的原码。

为了解决上面计算所出现的正零和负零的问题补数出现了
补码:为了解决反码的正零和负零问题,补码被引入
补码计算:
1-1 = 1+(-1) = 【0000 0001】原 +【1000 0001】原 = 【0000 0001】反 + 【1111 11110】反 = 【0000 0001】补 + 【1111 1111】补 = 【1 0000 0000】补 =【0000 0000】原 = 0

注意:进位1不在计算机字长中

使用【1000 0000】表示-128 的由来:

(-1)+(-127) = 【0000 0001】原 + 【1111 1111】原 = 【1000 0001】补 +【10000 0001】补 = 【1000 0000】补

通过上面的计算可以验证-128的补码为【1000 0000】补但是-128没有原码和反码,反码和原码的适用范围为【-127,127】补码的使用范围时【-128,127】


http://www.ppmy.cn/news/789934.html

相关文章

PS切图保存后的背景图为透明

1、若想PS切图保存后的背景图为透明,那么则需要在如下图中所示的修改即可,切图后【文件】——>【存储为web格式】——>【PNG-24】: 2、要想在css中的背景图片为相通,则先剪切一个小个的图,然后再选择background&…

PS教程新手入门(二)--保存清晰透明的.Png格式图片的方法和技巧教程

.Png格式是图像文件存储格式,在网页设计中已经不是一个陌生的名词,在前端开发中经常使用到它,本文是对.PNG格式的详细介绍,并且针对网页设计上.PNG格式的使用做了相关说明。Png有多少种格式?有哪些特点?网页…

photoshop保存背景透明图片办法

将图片背景删除,保存为png格式即可,注意颜色必须为RGB模式,否则存储为中找不到png这个格式。

PS制作透明图片png格式

这期主要介绍ps如何制作png透明图片,生活中总是出现各种透明背景图标等需求(PPT、网站等地方),所以就专门为平面设计写一期博客。 文章目录 1 选择主体图2 复制图层3 新建图片4 粘贴图层5 保存 1 选择主体图 快速选择工具 2 复…

PhotoShop 选中区域 变透明 透明化 导出图片

文章目录 Intro相关软件图片的透明部分PhotoShop 选中图片部分区域 将其变透明 导出图片打开图片对图层“去锁”使用索套工具选中指定区域按Delete删除选中区域(该区域变为透明)导出图片 另外一种导出方式reference Intro HTML中多张图片重叠时设置图片的不透明度,…

C语言 常用库函数-表

文章目录 一、数学函数二、字符函数三、字符串函数四、输入输出函数五、动态分配函数和随机函数 一、数学函数 调用数学函数时&#xff0c;要求在源文件中包下以下命令行&#xff1a; #include <math.h> 二、字符函数 调用字符函数时&#xff0c;要求在源文件中包下以…

【linux培训】Ubuntu使用要点记录

一、安装 安装VirtualBox-7.0.8-156879-Win.exe时&#xff0c;出现让安装microsoft visual c 2019&#xff0c;要想解决该问题&#xff0c;进入该网页下载2019版本https://blog.csdn.net/kpacnB_Z/article/details/110122336&#xff0c;下载下来是VC_redist.x64.exe&#xff…

CF掉帧严重玩起来一卡一卡

都知道360是答辩&#xff0c;但使用360安全卫士里面的360加速球可以解决这个问题。