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

负数的符号源码

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

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

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

阅读全文

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

热点内容
中国高等植物pdf 浏览:444
51单片机时间 浏览:172
后台如何获取服务器ip 浏览:256
单片机流水灯程序c语言 浏览:220
程序员第二职业挣钱 浏览:229
运行里怎么输入服务器路径 浏览:831
pythonstepwise 浏览:497
刘一男词汇速记指南pdf 浏览:52
php认证级别 浏览:360
方舟编译啥时候推送 浏览:1000
php手机验证码生成 浏览:667
哲学思维pdf 浏览:6
凌达压缩机有限公司招聘 浏览:525
weblogic命令部署 浏览:28
微差事app怎么注销账号 浏览:274
腾讯云服务器被无差别攻击 浏览:868
邮政app怎么查询转账凭证 浏览:840
程序员语言阅读 浏览:869
程序员考哪些证可以拿钱 浏览:872
发货商库存清点编程 浏览:723