zoukankan      html  css  js  c++  java
  • 十六进制转二进制的简便方法

    十六进制就是逢16进1

    0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f 十五个字符组成

    比如 1+f=10 (满16了,进1位)

    计算机中常用的数的进制主要有:二进制、八进制、十六进制,学习计算机要对其有所了解。
    2进制,用两个阿拉伯数字:0、1;
    8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;
    10进制,用十个阿拉伯数字:0到9;
    16进制就是逢16进1,但 们只有0~9这十个数字,所以 们用a,b,c,d,e,f这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。

    以下简介各种进制之间的转换方法:
    一、二进制转换十进制
    例:二进制 “1101100”
    1101100    ←二进制数
    6543210    ←排位方法

    例如二进制换算十进制的算法:
           1*26 + 1*25 + 0*24 + 1*23 + 1* 22 + 0*21 + 0*20
           ↑    ↑
    说明:2代表进制,后面的数是次方(从右往左数,以0开始)
    =64+32+0+8+4+0+0
    =108

    二、二进制换算八进制
    例:二进制的“10110111011”
    换八进制时,从右到左,三位一组,不够补0,即成了:
    010 110 111 011
    然后每组中的3个数分别对应4、2、1的状态,然后将为状态为1的相加,如:
    010 = 2
    110 = 4+2 = 6
    111 = 4+2+1 = 7
    011 = 2+1 = 3
    结果为:2673

    三、二进制转换十六进制
    十六进制换二进制的方法也类似,只要每组4位,分别对应8、4、2、1就行了,如分解为:
    0101 1011 1011
    运算为:
    0101 = 4+1 = 5
    1011 = 8+2+1 = 11(由于10为a,所以11即b)
    1011 = 8+2+1 = 11(由于10为a,所以11即b)
    结果为:5bb

    四、二进制数转换为十进制数
    二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……
    所以,设有一个二进制数:0110 0100,转换为10进制为:
    计算: 0 * 20 + 0 * 21 + 1 * 22 + 1 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100

    五、八进制数转换为十进制数
    八进制就是逢8进1。
    八进制数采用 0~7这八数来表达一个数。
    八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方……
    所以,设有一个八进制数:1507,转换为十进制为:
    计算: 7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839
    结果是,八进制数 1507 转换成十进制数为 839

    六、十六进制转换十进制
    例:2af5换算成10进制
    直接计算就是: 5 * 160 + f * 161 + a * 162 + 2 * 163 = 10997
    (别忘了,在上面的计算中,a表示10,而f表示15)、

    现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。
    假设有人问你,十进数 1234 为什么是 一千二百三十四?你尽可以给他这么一个算式: 1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100

  • 相关阅读:
    FlasCC发布说明
    FlasCC例子研究之Animation
    FlasCC例子研究之HelloWorld
    FlasCC例子研究之Drawing补充
    FlasCC Windows下开发环境搭建
    关于FlasCC(Adobe Flash C/C++ Compiler)
    FlasCC例子研究之c++interop
    魔兽世界客户端数据研究(四):M2文件头分析
    魔兽世界客户端数据研究(二)
    魔兽世界客户端数据研究(三)
  • 原文地址:https://www.cnblogs.com/xiaohong/p/2392010.html
Copyright © 2011-2022 走看看