lqy-blogs

什么是进制?

参考百度百科的说法:进制也就是进位计数制,是人为定义的带进位的计数方法.对于任何一种进制---X进制,就表示每一位上的数运算时都是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。
通俗说就是 一种人为规定的进位方法,这里需要强调一下,因为进位了, 比如2进制逢2进1,8进制逢8进1等等,所以:
二进制数里没有2 比如 1001 , 错误示例: 12
8进制数里没有8 , 比如 249, 错误示例: 18
10进制里也没有十 ,(注意:这里指的 没有 是指没有单个位数的一个数, 我们常见的10 实际上因为到了9以后逢10,然后进了一位,从一位数的9 变成了 1 0 两位数,并没有单独表示10的这么一个数)

16进制

根据上文中的说法, 16进制应该没有16, 但是阿拉伯数组只有10个(即0-9),那该怎么办呢?
对于9以后的数,我们用字母表示, 比如: 在16进制中, 我们单个位数上的数字有 1,2,3,4,5,6,7,8,9,(重点来了),在9以后,我们用 a表示10, b,表示11,c表示12...最后到f代表15,因为是16进制没有16嘛,所以到f就结束

进制转换

将n进制转换为10进制

2进制转10进制

由于常见的是2进制,所以下面我们拿2进制举例,道理都是一样的
首先看一个二进制数, 比如 101
方法:也就是说,将二进制数转换为十进制数,就是将每个位数的数(只有1或者0)乘2的n次方(这个n就是由从右边数的第n位,注意右边第一位从0开始)
image

n进制转换为10进制

方法与2进制也基本相同,只是将上述的2次方换为n即可
例如, 16进制的 10 就等于十进制的 0*(16^0) + 1*(16^1) = 16

10进制转n进制

方法:

  1. 将要转换的数逐渐除以n(2进制就是n就是2),余数保留,直到最后的商等于0为止
  2. 最后将得到的余数逆序摆出得到的数就是对应的二进制数
    例如十进制的302: ( "/"代表除以的意思)
    302/2 = 151 余0
    151/2 = 75 余1
    75/2 = 37 余1
    37/2 = 18 余1
    18/2 = 9 余0
    9/2 = 4 余1
    4/2 = 2 余0
    2/2 = 1 余0
    1/2=0 余1
    得到的余数依次是0 1 1 1 0 1 0 0 1,将其逆序摆出得到的数为100101110,就是302的二进制数

将2进制转换为8进制(m进制转换为n进制)

我们可以先将2进制其转换为我们熟悉的10进制,将10进制再转换为8进制即可,这里不在赘述

分类:

技术点:

相关文章:

  • 2022-01-09
  • 2021-10-05
  • 2022-12-23
  • 2021-11-03
  • 2022-02-08
  • 2021-12-03
  • 2022-02-14
猜你喜欢
  • 2021-05-12
  • 2021-12-10
  • 2022-12-23
  • 2021-09-14
  • 2022-12-23
相关资源
相似解决方案