Chinaunix首页 | 论坛 | 博客
  • 博客访问: 53622
  • 博文数量: 104
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2016-09-11 15:25
文章分类

全部博文(104)

文章存档

2016年(104)

我的朋友

分类: C/C++

2016-10-06 11:03:50

原文地址:原码,反码和补码 作者:lanlovehua

计算机中存储的数字都是用补码形式表示的。这句话非常重要。
那么什么是补码呢?首先要知道原码和反码的概念。
大家都知道,对于一个有符号的数来说,它的最高位就是符号位。
数X的原码:用其符号位的0或1表示X的正或负,而其数值部分就是绝对值的二进制表示。例如X=+105,则
[X]原 = 0   1 1 0 1 0 0 1
正数的反码是其本身,负数的反码是原码除符号位外的其他位各位取反。
例如X=-105,则
[X]反 = 1   0 0 1 0 1 1 0
 [-4]反 = 1   111 1011
正数的补码与原码数相同,负数的补码是原码除符号位外的其他各位取反,并在最底位加一。


阅读(195) | 评论(0) | 转发(0) |
0

上一篇:结构体对齐详解

下一篇:strncpy与memcpy

给主人留下些什么吧!~~