C程序设计——计算机中如何表示负数

C程序设计——计算机中如何表示负数

计算机中负数的表示方式,经常被提起的有三种:原码、移码、反码、补码

原码

原码,就是把二进制的最高位作为符号位(0:正号;1:负号),剩下的部分表示该数的绝对值。

我们以8位二进制举例:

如果扩展为16位二进制呢,就是下面这样:

从上面我们可以看到,原码负数从8位扩展到16位呢,需要再符号位的右边插入0,这个操作,硬件实现的时候,比较复杂。

再看一下原码的加法:

两个正数相加:直接加就行了

两个负数相加:绝对值相加,符号位不变

正数加负数:和的符号与绝对值较大的相同,和的绝对值等于较大的绝对值减去较小的绝对值。

可以看出来,原码整数的加法法则还是很复杂的。

反码

反码的正数,跟原码一样;负数,是把绝对值取反。

我们还以8位二进制举例:

相关推荐

亘古未有的悲剧英雄 “千年老二”:巴拉克
365bet体育足球世界

亘古未有的悲剧英雄 “千年老二”:巴拉克

📅 07-08 👁️ 9397
华迈云监控app官方版-华迈云监控手机版下载 v3.2.9.0316
约彩365彩票官方app下载安卓

华迈云监控app官方版-华迈云监控手机版下载 v3.2.9.0316

📅 07-10 👁️ 5036
王者荣耀cd上限多少 技能最低冷却时间
365bet体育足球世界

王者荣耀cd上限多少 技能最低冷却时间

📅 06-28 👁️ 8837
光荣使命武器配件大全 武器配件详细介绍
约彩365彩票官方app下载安卓

光荣使命武器配件大全 武器配件详细介绍

📅 07-04 👁️ 7933