zoukankan      html  css  js  c++  java
  • 二进制数,十进制数,十六进制数简单介绍

    在上一小节中我们学习了python的字符编码,我们学习到ASCII码是采用一个字节(8个二进制位)长度来编码的,在最后的例子中我们又使用了16进制的格式来查看汉字的Unicode和utf-8编码。

    那么什么是二进制数,什么是十六进制数?他们之间如何转换?又如何与我们熟悉的十进制数做转换?

    我们很熟悉10进制的计数法,采用0~9,10个数字计数,每逢“十进一”,10称为基数或者底数。

    当我们书写时,约定左边是高位,右边是低位,当低位的数字超过10时,向高位进1,低位用0占位。

       9

    + 1

    ------

     10

    这就是10进制计数法。10进制很适合我们人类计数,因为人类正好有10个手指来数数。但是对计算机来说比较麻烦,需要表示0~9十种状态。

    如果我们把基数10换为2,即逢2进一,就称二进制计数法。

      1

    +1

    ------

    10

    二进制计数法只有两种状态0和1,这在计算机的电路实现上很简单,所以计算机内部是采用2进制计数法的。

    二进制转换为十进制很简单比如:

     

    十进制转换为二进制方法为:

    整数部分,把十进制转成二进制一直分解至商数为0。从最底左边数字开始读,之后读右边的数字,从下读到上。 小数部分,则用其乘2,取其整数部分的结果,再用计算后的小数部分依此重复计算,算到小数部分全为0为止,之后读所有计算后整数部分的数字,从上读到下。(维基百科)

    在实际应用中当采用二进制表示很大的数时,需要很多个二进制位,书写和阅读都不方便,转换成十进制又不是很方便。

    后来发现采用16进制数表示很方便,因为将4个Bit化成单独的16进制数字不太困难,1字节正好可以表示成2个连续的16进制数字。

    于是16进制在计算机编码中得到广泛的应用。

     参考资料:

    进位制:http://zh.wikipedia.org/wiki/%E8%BF%9B%E4%BD%8D%E5%88%B6

    二进制:http://zh.wikipedia.org/zh-cn/%E4%BA%8C%E8%BF%9B%E5%88%B6

    十六进制:http://zh.wikipedia.org/zh-cn/%E5%8D%81%E5%85%AD%E8%BF%9B%E5%88%B6 

  • 相关阅读:
    3.1 history跳转页面产生跨域问题
    2021年6月7日 团队冲刺第二阶段04
    2021年6月6日 团队冲刺第二阶段03
    2021年6月5日 团队冲刺第二阶段02
    2021年6月4日 团队冲刺第二阶段01
    2021年6月3日
    2021年6月2日
    2021年6月1日
    2021年5月31日
    2021年5月30日
  • 原文地址:https://www.cnblogs.com/mengfanhao/p/3121297.html
Copyright © 2011-2022 走看看