计算机进制、进制的转换

现代的计算机和依赖计算机的设备里都用到二进制(即0和1)来保存和表示数据,一个二进制表示一个比特(Bit)。

数字在计算机中表现的方式常见的有四种:二进制、八进制、十进制、十六进制。

进制的基础

  1. 十进制:

    • 基数:0~9
    • 进位:逢十进一
    • 位权:10的n次方(n从低位到高位从0开始依次增加。)
    • python程序中表示方式:十进制在程序中直接写
  2. 二进制:

    • 基数:0、1
    • 进位:逢二进一
    • 位权:2的n次方(n从低位到高位从0开始依次增加。)
      例:101011=1*2^0+1*1^2+1*0^2+1*2^3+0*2^4+1*2^5=1+2+0+8+0+32=43
    • python程序中表示方式:0b101、0B101001
  3. 八进制:

    • 基数:0~7
    • 进制:逢八进一
    • 位权:8的n次方 例:123=3*8^0+2*8^1+18^2=3+16+64=83
    • python程序中表示方式:0o123、0O227
  4. 十六进制:

    • 基数:0~9、A/a~F/f
    • 进位:逢十六进一
    • 位权:16的n次方 例:123=3*16^0+2*16^1+116^2=3+32+256=291
    • python程序中表示方式:0x123、0X3f3

进制的转换

  • 其他进制转十进制:

    • 手动转换:每一位上的数乘以位权。

      0b1011 -> 2^0+2^1+0+2^3=1+2+8=11

      0o1011 -> 1*8^3+0*8^2+1*8^1+1*8^0=512+0+8+1=521

      0x1011 -> 1*16^3+0*16^2+1*16^1+1*16^0=4096+0+16+1=4113

  • 十进制转其他进制:

    • 手动转换:辗转取余法

      • 十进制转二进制:除2去余,没有余数就取0,除到除不尽了,从下往上拿余数0b1010

      • 十转八:除8去余,没有余数就取0,除到除不尽了,从下往上拿余数0o261

      • 十转十六:除16去余,没有余数就取0,除到除不尽了,从下往上拿余数0ob1

  • 八进制、十六进制与二进制之间的转换:

    • 八进制转二进制:用421比对八进制数,5在421中可以由4和1得到,所以5的二进制位101。421中没有取到的位数取0表示。

    • 十六进制转二进制:用8421比对十六进制数,b在十六进制中位11,在8421中可以由8、2、1得到,所以b的二进制位1011。8421中没有取到的位数取0表示。

  • 二进制与八进制、十六进制之间的转换:把八进制、十六进制与二进制之间的转换反过来求即可。

    • 八进制转二进制:将3位的2进制数转换成1位的8进制 421
    • 十六进制转二进制:将4位的2进制数转换成1位的16进制8421
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值