进制转化(全)

这篇博客详细介绍了不同进制之间的转换,包括二进制转八进制、十进制、十六进制,以及八进制、十进制和十六进制之间的相互转换。通过取三合一、取四合一方法,以及乘权相加法等,阐述了转换的原理和步骤,并提供了具体的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

进制转化

进制介绍

整型有4种进制形式:

1.十进制: 都是以0-9这九个数字组成,不能以0开头。

2.二进制: 由0和1两个数字组成。

3.八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。

4.十六进制:由0-9和A-F组成。为了区分于其他数字的区别,开头都是以0x开始。

进制对应表:

二进制转八进制、十进制、十六进制

1.二进制转八进制

  • 进制转换成八进制的方法是,取三合一法,即从二进制的小数点为分界点,向左(或向右)每三位取成一位。
  • 分好组以后,对照二进制与八进制数的对应表,将三位二进制按权相加,得到的数就是一位八进制数,然后按顺序排列,小数点的位置不变哦,最后得到的就是八进制数。
  • 这里需要注意的是,在向左(或向右)取三位时,取到最高位(最低位)如果无法凑足三位,就可以在小数点的最左边(或最右边)补0,进行换算。
image-20221101160147998

参考对照表

将二进制的数值从左到右分为三个一组,最左边的如果不够三位数的话 补0

数值位数刚好够的情况:

例:111111000001 将这个数分为三个一组 分别为 111、111、000、001

参考上图对应表 111对应 7 、000对应 0、001对应1

即可得:二进制数值111111000001 转化为 八进制为 7701

数值位数不够得情况 需要补0

例:11100110 将这个数分为三个一组 分别为 111、001、10、 发现位数不够

这种情况就需要在二进制数值前面补 0 变为011100110

分组为 011、100、110 对照表分别为3 、4、6

即可得:二进制数值11100110 转化为八进制为 346

2.二进制转十进制

二进制转化为十进制 就是 用 数值 乘以 该 2的n次方 n为该数值后面的 位数 (小数点之前的) 最后相加在一起

例如 二进制数 100 转化为 十进制 1*2的n次方 1后面还有两位数 所以是 1 * 2的3次方

以此类推 二进制数 100 转化为 十进制 为 1 * 2^3+0 * 2^1 +0 * 2^0=8+0+0=8

  • 1、无符号整数,从右往左依次用二进制位上的数字乘以2的n次幂的和(n大于等于0);10001

    10001=1*2^4 + 0*2^3 + 0*2^2 + 0*2^1 +1*2^0=16+0+0+1=17
    
  • 2、带符号的二进制整数,除去最高位的符号位(1为负数,0为正数),其余与无符号二进制转化为十进制方法相同;

    符号的二进制数转化为十进制数,先观察二进制数最高位是什么数,如果是1,则表示是负数,如果是0则表示是正数,确定符号后再来转化为十进制数。

    10001= 0*2^3 + 0*2^2 + 0*2^1 + 1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值