有关二进制的转换笔记

二进制转换

①二进制(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

符号扩展可使两种补码计算方法算出的补码结果一致

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值