导航:首页 > 源码编译 > 负数的符号源码

负数的符号源码

发布时间:2025-03-01 18:53:30

Ⅰ +0或者-0的源码、反码、补码

[+0]原码=0000 0000, [-0]原码=1000 0000

[+0]反码=0000 0000, [-0]反码=1111 1111

[+0]补码=0000 0000, [-0]补码=0000 0000

补码没有正0与负0之分。正数的反码、补码和其源码相同,负数的反码是其源码,除符号位外其他位取反负数的补码是取其反码后加1。

详细释义:

所谓原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

(一)反码表示法规定:

1、正数的反码与其原码相同;

2、负数的反码是对正数逐位取反,符号位保持为1;

(二)对于二进制原码10010求反码:

((10010)原)反=对正数(00010)原含符号位取反= 反码11101 (10010,1为符号码,故为负)

(11101) 二进制= -2 十进制

(三)对于八进制:

举例 某linux平台设置了默认的目录权限为755(rwxr-xr-x),八进制表示为0755,那么,umask是权限位755的反码,计算得到umask为0022的过程如下:

原码0755= 反码 0022 (逐位解释:0为符号位,0为7-7,2为7-5,2为7-5)

(四)补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

(1)负数的符号源码扩展阅读

转换方法

由于正数的原码、补码、反码表示方法均相同,不需转换。在此,仅以负数情况分析。

(1) 已知原码,求补码。

例:已知某数X的原码为10110100B,试求X的补码和反码。

解:由[X]原=10110100B知,X为负数。求其反码时,符号位不变,数值部分按位求反;求其补码时,再在其反码的末位加1。

1 0 1 1 0 1 0 0 原码

1 1 0 0 1 0 1 1 反码,符号位不变,数值位取反

1 +1

1 1 0 0 1 1 00 补码

故:[X]补=11001100B,[X]反=11001011B。

(2) 已知补码,求原码。

分析:按照求负数补码的逆过程,数值部分应是最低位减1,然后取反。但是对二进制数来说,先减1后取反和先取反后加1得到的结果是一样的,故仍可采用取反加1 有方法。

例:已知某数X的补码11101110B,试求其原码。

解:由[X]补=11101110B知,X为负数。

采用逆推法

1 1 1 0 1 1 1 0 补码

1 1 1 0 1 1 0 1 反码(末位减1)

1 0 0 1 0 0 1 0 原码(符号位不变,数值位取反)

Ⅱ 负数的原码、反码、补码怎么表示

以一个字节表示的话,-6的原码是10000110,反码是11111001,补码是11111010。

首先,6的原码、反码、补码相同,即都为0000 0110。

计算机拿到6的补码,即0000 0110。

对6的补码进行“~”计算(按位取反),得到1111 1001。

结果已经得到了,只不过是一个补码形式,所以接下来要把补码转换成原码(因为这个结果很明显是个负数,所以按照负数的补码转换成原码的公式来),由上述公式得到原码为:1000 0111。

已经得到结果的二进制,将二进制转换成十进制,得到-7。

正数的原码、反码、补码相同。

负数的反码:原码除符号位外按位取反。

负数的补码:反码+1。在计算机中,数值一律用补码来表示存储。

负数的补码转换成原码:除符号位外按位取反、+1。

对正数取反的方法:按位取反、取补码(因为正数的原码补码反码相同,所以省略了第一步取补码)。

对负数取反的方法:取补码、按位取反(因为负数按位取反后肯定是正数,正数的三码相同,所以省略最后一步取补码)。

阅读全文

与负数的符号源码相关的资料

热点内容
编程思考者 浏览:450
压缩机型号用什么氟利昂 浏览:553
农机空气压缩机 浏览:664
程序员下载歌曲 浏览:894
编译未检测到仿真器 浏览:807
压缩机每次启动12分钟就停 浏览:730
creo复制曲面命令 浏览:959
程序员恋上女硕士 浏览:669
ansys的get命令 浏览:988
国外dns苹果服务器地址 浏览:430
国家职业技术资格证书程序员 浏览:652
奇瑞租车app是什么 浏览:99
系统源码安装说明 浏览:420
命令行加壳 浏览:96
解压时显示防失效视频已加密 浏览:295
苹果短信加密发送 浏览:446
天翼私有云服务器租用 浏览:733
贵州云服务器属于哪个上市公司 浏览:59
编程联动教程 浏览:482
小天才app怎么升级v242 浏览:545