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

负数的符号源码

发布时间: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。

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

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

阅读全文

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

热点内容
安卓怎么玩正版孤胆车神 浏览:887
不做程序员还能做什么 浏览:688
excel条件命令 浏览:404
autojs源文件加密 浏览:183
49算法虚岁年龄怎么算 浏览:547
qq发图片压缩 浏览:948
期货行情手机app编程 浏览:53
中山纬创一厂做服务器是什么 浏览:28
python如何求字典里值的和 浏览:287
标准日本语pdf高清版 浏览:837
ide导出的二进制编译文件 浏览:969
程序员会引起颈椎病吗 浏览:63
cuda文件编译 浏览:3
为什么服务器费用这么高 浏览:977
编译错误什么原因 浏览:233
人民文学pdf下载 浏览:301
进外代理服务器地址 浏览:978
linux命令行mysql 浏览:210
pdf注释删除 浏览:354
同步器源码大漠 浏览:953