软件设计师-笔记(1)二进制转换八进制,十六进制,正数 负数(原码,补码,反码,移码)

软件设计师笔记(1)进制转换

1.十进制转二进制

短除法
把十进制的数与二不断进行短除且把余数保留起来,直到被除数小于2后,把余数逆向排列后就是 该十进制的二进制值:
例如:

|代表短除符号
 23|2 =111
 11|2 =51
 5|2 =21
 2|2 =10(此时被除数等于2,没有小于2继续那商作为被除数进行短除)
 1|2=01(此时,被除数小于2,不在进行短除)
 因此 23的二进制数为:10111

权重法
如果有小数转换建议用权重法

 1000  100 10   1    0.1    0.01
 千位 百位 十位 个位 十分位 百分位
  0		0	2	3
    2`42`32`22`12`02`-12`-2	 
   十六位  八位    四位   二位   一位   二分位   四分位    
	1       0 	   1       1    1
	因此 1*2的四次方+0*2的三次方+1*2的二次方+1*2的一次方+1*2的零次方
	所有是 16+0+4+2+1=23

2. 二进制转八进制

二进制转八进制 可以用三个二进制位代替一个八进制位,反过来就是一个八进制位转化成三个二进制位
例如

八进制数:27 转成 二进制 则是 7转成 二进制数 1112转成二进制数 不够向前补零 010 然后拼接起来
八进制数:27 的二进制数就是 010111(首部的0可以去掉)
-------------------------
反过来 二进制数 10111 转八进制数
10111用逗号把二进制数以每三位进行拆分
每三位转成十进制的数 拼接起来 
因此010转换位十进制 2111转换为十进制是7 
拼接起来 27 

3. 二进制转十六进制

十六进制数转二进制与八进制转二进制基本上都是一样的规律。
只是十六静止的一位数转成二进制的4位数
相反二进制的四位数则转成16进制的1位数

4. 正数的 原码,补码 反码,移码 规则

以机器字长=8为例(没有特别说明都是转换成十进制)
最开头的首位是符号位,不进行计算 0代表的是正数,1代表的是负数
0000 0001 =1
1000 0001=-1

以正数1为例 它的原码 反码 补码 移码如下
原码:0000 0001  
反码:0000 0001
补码:0000 0001
正数的补码 原码 反码值都是一样的
移码:1000 0001 移码可以理解为 把补码的符号位取反就行

5. 负数的 原码,补码 反码,移码 规则

以负数1为例 它的原码 反码 补码 移码如下
原码:1000 0001  
反码:1111 1110(在原码的基础上除符号位外,其余位取反)
补码:0000 0001(在原码的基础上除符号位外,其余位取反+1)
移码:0000 0001 移码可以理解为 把补码的符号位取反就行
补码转原码以及原码转补码 规则都是一样的:除符号位外其余数取反+1
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值