程序员基本功——进制转换

进制介绍

对于整数,有四种常用表示方式:

  • 二进制:0/1表示,满2进1,以0b或0B开头
  • 八进制:0-7表示,满8进1,以数字0开头
  • 十进制:0-9表示,满10进1
  • 十六进制:0-9及A(10)-F(15)表示,满16进1,以0x或0X开头,此处的A-F不区分大小写

进制转换介绍

第一组
二进制转十进制
八进制转十进制
十六进制转十进制

第二组
十进制转二进制
十进制转八进制
十进制转十六进制

第三组
二进制转八进制
二进制转十六进制

第四组
八进制转二进制
十六进制转二进制

第一组

二进制转十进制
规则:从最右边开始,将各位上的数字依次乘以2的(位数-1)次方,然后求和。
示例:0b1011= 1×2^0 + 1×2^1 + 0×2^2 + 1×2^3= 1 + 2 + 0 + 8= 11

八进制转十进制
规则:从最右边开始,将各位上的数字依次乘以8的(位数-1)次方,然后求和。
示例:0123= 3×8^0 + 2×8^1 + 1×8^2= 3 + 16 + 64= 83

十六进制转十进制
规则:从最右边开始,将各位上的数字依次乘以16的(位数-1)次方,然后求和。
示例:0x23A= 10×16^0 + 3×16^1 + 2×16^2= 10 + 48 + 512= 570

第二组

十进制转二进制
规则1:将十进制数不断除以2直至商为0,然后将每步所得余数从下往上排列即为对应的二进制数。
规则2:将十进制数按照从高次到低次依次写成2的各次方相加的形式,然后按顺序取各项前的系数即为对应的二进制数。(前提是熟悉常见的2的各次方的值)
示例:107= 64 + 32 + 8 + 2 + 1= 1×2^6 + 1×2^5 + 0×2^4 + 1×2^3 + 0×2^2 + 1×2^1 + 1×2^0= 0B1101011

十进制转八进制
规则:将十进制数不断除以8直至商为0,然后将每步所得余数从下往上排列即为对应的八进制数。
示例:将131转成八进制 => 0203在这里插入图片描述

十进制转十六进制
规则:将十进制数不断除以16直至商为0,然后将每步所得余数从下往上排列即为对应的十六进制数。
示例:将237转成十六进制 => 0xED
在这里插入图片描述

第三组

二进制转八进制
规则:从最右边开始,将二进制数每三位一组,转成对应的八进制数。
示例:0b11010101 => 0b 11(3) 010(2) 101(5) => 0325

二进制转十六进制
规则:从最右边开始,将二进制数每四位一组,转成对应的十六进制数。
示例:0b11010101 => 0b 1101(13) 0101(5) => 0xD5

第四组

八进制转二进制
规则:将八进制数的每一位都转成三位的二进制数。
示例:0237 => 0 2(010) 3(011) 7(111) => 0b010011111

十六进制转二进制
规则:将十六进制数的每一位都转成四位的二进制数。
示例:0x23B => 0x 2(0010) 3(0011) B(1011) => 0b001000111011

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值