博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二进制(signed or unsigned)补码
阅读量:7218 次
发布时间:2019-06-29

本文共 529 字,大约阅读时间需要 1 分钟。

在计算机系统中,数值一律用补码来表示(存储)。 
主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补 
码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。 
补码与原码的转换过程几乎是相同的。 
数值的补码表示也分两种情况: 
(1)正数的补码:与原码相同。 
      例如,+9的补码是00001001。 
(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。 
      例如,-7的补码:因为是负数,则符号位为“1”,整个为10000111;其余7位为-7的绝对值+7的原码 
     0000111按位取反为1111000;再加1,所以-7的补码是11111001。 
已知一个数的补码,求原码的操作分两种情况: 
(1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。 
(2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1。 
     例如,已知一个补码为11111001,则原码是10000111(-7):因为符号位为“1”,表示是一个负数,所以该位不变,仍为   “1”;其余7位1111001取反后为0000110;再加1,所以是10000111。
 
 

转载地址:http://drtym.baihongyu.com/

你可能感兴趣的文章
抓取存储quota超过80%的users
查看>>
C语言经典算法100例
查看>>
速成CAD版本转换的教程
查看>>
CAD文件图纸过大,该怎么解决?
查看>>
Spring aop 切不进去原因。。
查看>>
PHP获取客户端IP
查看>>
php开发APP接口-封装通信接口改进版
查看>>
Android系统性能演变历程
查看>>
OSChina 周三乱弹 —— 打醒精神去瞌睡
查看>>
SSH 密钥登录linux
查看>>
你必须掌握的 21 个 Java 核心技术!
查看>>
告诉你WHT中文站是什么?
查看>>
4、Juniper SSG520 PPTP映射到ROS后MAC无法连接解决方法
查看>>
利用批处理文件来建立一个记录3389登陆者信息
查看>>
Linux 系统下双机HA的实现
查看>>
02_swarm mode key concepts
查看>>
Eclipse打包插件Fat Jar 解压打包
查看>>
Apache Shiro 使用手册
查看>>
CentOS mini 6.5 安装DB2 Express-C 问题处理记录
查看>>
DirectByteBuffer
查看>>