进制之间的转换

十进制转换任意进制

给目标数除以进制数,除到商为0时,余数颠倒.
例如:
18转二进制==0b10010;(给18除以2,除到商为0为止,将每一步的余数颠倒就得到了10010)

任意进制转十进制:

给数字从右至左编号,每个位数乘以进制数的编号次方,所得结果之和,即为要求的进制数.
例如:0b1010101=85
6543210
1×26+0×25+1×24+0×23+1×22+0×21+1×2^0=85

任意进制之间的转换

①以二进制位桥梁,利用8421码
1、将每个二进制对应的位商计算一个固定的十进制数
1111
3210
1×23+1×22+1×21+1×20=8+4+2+1(8421码)
2 将每个进制对应的分组
①二进制2位数组合
②八进制3位数组合
④十六进制4位数组合
例如:①将0b1011101转换为8进制
0b1011101
001 011 101
001 021 401
1 3 5=135
②将0b1011101转换为16进制
0101 1101
0401 8401
5 13=5D
②以十进制为桥梁
x进制=十进制 =>y进制
四、十进制负整数转二进制算法
1、将十进制输出转化陈二进制数,先不管符号;
2、对转化的二进制数逐位取反
3、对取反后的二进制数加1,结果就是十进制负数转化成的二进制数
例如:将-122转化成2进制数
①先把122转换成二进制(因为计算机中存储的是64bit的大小,所以要向前补0)
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0111 1010
②对二进制逐位取反:
1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1000 0101
③取反后加1:
1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1000 0110

五、整数的储存

整数在计算机中是以补码的方式存储的,
1、原码
将一个整数转换成二进制,然后 最高位用来表示符号位(0表示正数,1表示负数,其余位表示数值位)
2、反码
正数的反码和原码一致,负数的反码全部取反,除最高位补码
3、补码
正数的补码和原码一致,负数的补码在反码的基础上末尾+1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值