补习中-进制转换

Posted 摩尔迦娜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了补习中-进制转换相关的知识,希望对你有一定的参考价值。

   最近忽然起兴,在看一些程序,但是一堆16进制代码看的我脑袋晕头转向。。

没办法,底子太薄,开始补习吧!

  

   先说10进制转换成2进制

   比如42想转换成2进制,那就把42一直拿2往下除,除到商为0

  

   42/2 = 21余0

   21/2 = 10余1

   10/2 =  5余0

    5/2 =  2余1

    2/2 =  1余0

    1/0 =  0余1

  

   从下往上写为 00101010

   1前面那两个0是补位的..没什么用途.

  

   想转成10进制也很简单,

    ^ 这个是幂的符号吧= =。  数学好长时间没学,早忘光了。。。

   幕的个数是从0开始往前数

 

   8位     7位     6位     5位     4位     3位     2位     1位

   0*2^7 + 0*2^6 + 1*2^5 + 0*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0

   0   +   0     +  32   +   0   +   8   +  0    +  2    +  0

   最终结果等于42  哦耶!

 

   ------下面为16进制-----------------------

 

   16进制打头必须带有0x,但是这个并不在进制转换中出现。。  (当初就不知0x是什么,还傻呵呵的问0x是多少。。)

 

   16进制中, 从A开始,代表A=10,一直到F=15。。

 

   问:为什么要用A来代表10呢?

   因为数不够用了。10不就占两个格了么。(哈。我是这么理解的。。)

  

   16转2进制有规律表,太占地方放下面了。。

 

   比如拿上面的42来说,42 = 00101010  这是10进制转2进制

   每4个数单独拿出来

   0010 = 2

   1010 = A

   转换成16进制, 42 = 2A   啊哈~

 

   16进制直接转10也好转

   2A用16进制数字来表示 2A = 2 10 

   这里10看成一位。

  

   2位    1位

   2*16^1 + 10*16^0

     32   +   10

   结果42。   完美!

----------------------------------------------------------------------------

   16进制转换成2进制有下面这个规律,附上手打表一张..  少位的拿0补..

   0 = 0

   1 = 1

   2 = 10

   3 = 11

   4 = 100

   5 = 101

   6 = 110

   7 = 111

   8 = 1000

   9 = 1001

   A = 1010

   B = 1011

   C = 1100

   D = 1101

   E = 1110

   F = 1111 

以上是关于补习中-进制转换的主要内容,如果未能解决你的问题,请参考以下文章

在Excel中如何将十进制转换成二进制

Python中进制转换函数的使用

在C语言中如何将10进制转换成16进制?

在c++中编写一个程序实现进制转换。

编程算法基础-2.3进制转换

用Python 3.1.3 写几个进制转换的程序