zoukankan      html  css  js  c++  java
  • 进制转换

    二进制到十进制的转换

    • 十进制有 0,1,2,3,4,5,6,7,8,9
    • 二进制有 0,1

      由于所处的位置不同,每个数位都有一个不同的放大倍数,称为“"。每个数位的权是这样计算的:从右向左开始,以基数为底,指数从0开始递增的。比如一个二进制数 10110001,它的基数是2,所以要这样计算它等值的十进制数:

    10110001 = 1×2(^7)+0×2(^6)+1×2(^5)+1×2(^4)+0×2(^3)+0×2(^2)+0×2(^1)+1×2(^0) = 177D

    由上可以想到另一种方法转换:

    • 由上我们可以列出一组数:1,2,4,8,16,32,64,128 ······

    我们可以对应这组数进行计算,二进制遇到 1 就累加,遇到 0 就跳过。

    10110001 = 128+32+16+1 = 177

      上面的公式里,10110001B 里的B表示这是一个二进制数,D则表示177是个十进制数。B 和 D 分别是英语单词 Binary 和 Decimal 的头一个字母,这两个单词分别表示二进制和十进制的意思。

    十进制到二进制的转换

      为了将一个十进制转换成二进制数,可以采用将它不停地除以二进制的基数 2,直到为0,然后将每一步的得到的余数串起来,从左向右书写,就是我们所要转换的二进制数。
    在这里插入图片描述

    十六进制到十进制的转换

      要把一个十六进制数转换成我们熟悉的十进制数,我们采用和前面一样的方法。只不过,计算各个数位的时,的底数是16。比如将十六进制数125转换成十进制数的方法如下:

    125H = 1×16(^2)+2×16(^1)+5×16(^0) = 293D

      上式里,125后面的 H 用于表明这是个十六进制数,它是盈余单词 hexadecimal 的头一个字母,这个单词的意思是十六进制。

    十进制到十六进制的转换

      要把一个十进制数转换成十六进制数,则可以采取不停地除以16并取其余数的策略。在这里插入图片描述

    二进制到十六进制的互换

      看看十进制数,二进制数和十六进制数之间,都有些什么有趣的规律和特点。
    在这里插入图片描述
      4比特的二进制数,可以表示的数是 0000 到 1111,也就是十进制的0~15,这正好对应于十六进制的0 ~ F。
    在这里插入图片描述
      如果将一个二进制数从右向左,分成4比特为一组的形式,分别将一组的值转换成十六进制数,就可以得到这个 二进制数所对应的十六进制数。

    换位思考

    我们知道

    • 1111B = 8+4+2+1 = 15D

    那么

    • 1110 = 15 - 1 = 14D

    所以

    • 1101 = 15 - 2 = 13D
    • 1011 = 15 - 4 = 11D
    • 0111 = 15 - 8 = 7D
  • 相关阅读:
    Extjs4单选按钮
    下拉框comboxBox本地数据源示例
    处理您的请求时发生异常。此外,对第一个异常执行自定义错误页时发生另一异常。已终止请
    hoj1568
    hoj3434
    poj2924
    poj2909
    hoj3433
    理解Python闭包,这应该是最好的例子
    Spring 学习笔记
  • 原文地址:https://www.cnblogs.com/chengmf/p/12509835.html
Copyright © 2011-2022 走看看