1、位、字、字节、原码、反码、补码
字 word : 1字=2字节(1 word = 2 byte ) 字长是指字的长度
字节byte :1字节=8位(1 byte = 8 bit)
位 bit
一个字的字长为16
一个字节的字长是8
原码 反码 补码
正数:三码合一
负数:
原码:最高位不变,后面数据和其绝对值相同
反码:将原码除最高位,其余按位取反
补码:将反码+1
练习:
原码 1011 0100 B 负数
反码 1100 1011 B
补码 1100 1100 B
补码 1110 1110
反码 1110 1101
原码 1001 0010B
137/2
68 1
34 0
17 0
8 1
4 0
2 0
1 0
0 1 010 001 001.1
2 1 1 .4
A3.5
1010 0011.0101 10100011.01010000
128+32+2+1=163.
128+16=144
a3.5
10*16^1+3*16^0+5*16^(-1)= 163.
(E笔记)
关于进制之间的转换:
其他的进制转换为10进制。
4 3 2 1 0 -1 -2
1 1 0 1 1. 1 1 转为10进制
1*2^4+1*2^3+0*2^2+1*2^1+1*2^0+ 1*2^-1+1*2^-2
16+ 8+ 0 +2 +1+ 0.5+ 0.25
结果:27.75
10进制转为2进制:
154.56
整数部分:154 逆向取余法
小数部分:0.56 正向取整法
算式 商 余数
154 / 2 77 0
77/2 38 1
38/2 19 0
19/2 9 1
9/2 4 1
4/2 2 0
2/2 1 0
1/2 0 1
二进制数:10011010
算式 结果 取整
0.56 *2 0.12 1
0.12*2 0.24 0
0.24*2 0.48 0
0.48*2 0.96 0
0.96*2 0.92 1
.......
最终得到的结果:10011010.10
3685/10 368 5
368/10 36 8
36/10 3 6
3/10 0 3
0.856 *10 0.56 8
0.56*10 0.6 5
0.6*10 0 6
以上就是十进制和不同进制之间的转换关系。
原码 反码 补码:
正数:三码合一
负数: 反码是原码 符号位不变 其余取反
补码是反码+1
例1:已知原码,求补码
例:已知某有符号数X的原码为1011 0100B,试求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 0 0 补码
故:[X]补=11001100B,[X]反=11001011B。
例2:已知补码,求原码
例:已知某数X的补码1110 1110B,试求其原码
方法:数值部分应是最低位减1,然后取反;
也可采用取反加1 的方法。
解:由[X]补=11101110B知,X为负数。
由补码求反码时,在其补码的末位减1;
由反码求原码时,符号位不变,数值部分按位求反。
1 1 1 0 1 1 1 0 补码
- 1 减1
1 1 1 0 1 1 0 1 反码
1 0 0 1 0 0 1 0 原码
故:[X]原=1001 0010B。
http://blog.csdn.net/magicxiaoz/article/details/4338467 编程语言的分类
http://blog.csdn.net/charles_fj_sum/article/details/6170084 反码 补码 原码
浙公网安备 33010602011771号