zoukankan      html  css  js  c++  java
  • 简单讲讲二进制与十进制的转换

    简单讲讲二进制与十进制的转换

    本文写于 2020 年 9 月 12 日

    很多人觉得二进制很奇妙,很难转换,但其实没那么夸张。

    首先看一个简单的十进制数:123

    对于 123 而言,是 100+20+3 的结果,也就是 1*100+2*10+3*1

    再进一步拆分成 10^n(十的 n 次方)后就可以表示为 1*10^2+2*10^1+3*10^0

    这个时候我们发现这里其实是存在某种规则的。

    列个表看看:

    10^2 10^1 10^0
    0 0 0

    那么这是十进制,换成二进制的话,会不会是下面这样呢?

    2^2 2^1 2^0
    0 0 0

    这也就意味着,100、10、1 变成了 4、2、1。当我们继续向后推进,二进制就会变成 8、16……而不是十进制的 1000、10000……

    这个表有啥用呢?

    我们来看几个简单的例子,十进制的 2,在二进制中是就是 10,这点我们非常清楚。

    我们将 10 放入表中:

    2^2 2^1 2^0
    0 1 0

    1*2^1+0*2^0,诶?!这不就是 2 吗?

    所以我们现在学会了二进制转十进制的方法,就是将二进制的每一位,乘上二的位数减一次方后相加

    十进制转二进制相对而言要更麻烦一点,也更难想——我们需要解出一个公式:a*1+b*2+c*4+d*8+e*16…… 这里的 a、b、c……都表示的是 0 或 1。

    例如 50。可以表示为:0*1+1*2+0*4+0*8+1*16+1*32,所以 50 的二进制为 110010。

    13 呢?可以表示为 1*1+0*2+1*4+1*8,即为 1101。

    (完)

  • 相关阅读:
    (三)3-5 Python生成式和生成器
    (三)3-4 Python的高阶函数和匿名函数
    Linux下安装Python3
    Python math函数库
    今日头条as,cp,_signature参数破解
    使用scrapy实现分布式爬虫
    scrapy框架持久化存储
    Python中使用rsa加密
    使用Python进行微博登录
    WebDriverWait 显示等待
  • 原文地址:https://www.cnblogs.com/xhyccc/p/13656439.html
Copyright © 2011-2022 走看看