二进制转换
一
①二进制(B)转化为十进制(D)
方法:按权展开
如1010010.01011 B=1*2^6+0*2^5+1*2^4+0*2^3+0*2^2+1*2^1+0*2^0(整数部分)
+0*2^-1+1*2^-2+0*2^-3+1*2^-4+1*2^-5(小数部分)=82.02022 D
权(二进制为2八进制为8十进制为10十六进制为16)
其他进制转换为十进制同理
②二进制转化为八进(O)制和十六进制(H)
1.二进制转化为十六进制
如101101101.10010100 B
以小数点为起点分别向左右各取4个数
得到0001(前不足四位用0补也可不补) 0110 1101
↓ ↓ ↓
1 6 13
1 6 C(对应十六进制的13)
于是得到小数点左侧16C
小数点右侧同样处理得到94
于是上述二进制数转化为十六进制数为16C.94 H
二进制转化为八进制取四位变为取三位位步骤同上
原码反码补码的笔记
①原码
【+10010110】原=010010110 【-100111011】原=1100111011
正数转化为原码符号位变为0负数转化为原码符号位变为1
②反码
正数的反码=原码
负数的反码转换如下 【-100111011】原=1100111011转为反码→1011000100(首位符号位不变)
③补码
【X】补=2^n+X(n为机器字长)
如X=+3 机器字长为8时
【X】补=100000000+11=100000011 B
由于机器字长为8,故【X】补只能有八位则舍去首位的1
于是【+3】补=00000011 B
负数同理
规律:正数补码=原码,负数补码=反码+1
补码的符号扩展
如机器字长为8时
【+6】原0110 B=【+6】补=0110 B 符号扩展正数前加0直至有八位数即 00000110 B
【-6】原=1110 B【-6】反=1001 B 【-6】补=1010 B负数前加1直至有八位数即
↓
11111010 B
符号扩展可使两种补码计算方法算出的补码结果一致