相关文章推荐
怕考试的熊猫  ·  fopen :invalid ...·  1 周前    · 
有爱心的灌汤包  ·  Android ...·  10 月前    · 
气势凌人的开水瓶  ·  fastadmin ...·  1 年前    · 
威武的钥匙扣  ·  jquery xdsoft ...·  1 年前    · 

5.二进制转十六进制,十六进制转换二进制

首先我们来看一个二进制数:1111

你可能还要这样计算:1 * 2 ^0+ 1 * 2^1 + 1 * 2^2+ 1 * 2^3 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15。

然而,由于1111才4位,所以我们可以直接记住它每一位的权值,并且是从高位往低位记,:8、4、2、1。即,最高位的权值      为2= 8,然后依次是 2 = 4,=2, 2 = 1。

记住8421,对于任意一个4位的二进制数,我们都可以很快算出它对应的10进制值。

下面列出四位二进制数 xxxx 所有可能的值(中间略过部分)

仅4位的2进制数 快速计算方法 十进制值 十六进值

    1111 = 8 + 4 + 2 + 1 = 15 F
    1110 = 8 + 4 + 2 + 0 = 14 E
    1101 = 8 + 4 + 0 + 1 = 13 D
    0001 = 0 + 0 + 0 + 1 = 1 1
    0000 = 0 + 0 + 0 + 0 = 0 0

二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。

如(上行为二制数,下面为对应的十六进制):

1111 1101 , 1010 0101 , 1001 1011

F D , A 5 , 9 B

反过来,当我们看到 FD时,如何迅速将它转换为二进制数呢?

先转换F:

看到F,我们需知道它是15(可能你还不熟悉A~F这五个数),然后15如何用8421凑呢?应该是8 + 4 + 2 + 1,所以四位全为     1 :1111。

接着转换 D:

看到D,知道它是13,13如何用8421凑呢?应该是:8 + 4 + 1,即:1101。

所以,FD转换为二进制数,为: 1111 1101

由于 十六进制转换 成二进制相当直接,所以,我们需要将一个十进制数转换成2进制数时,也可以先转换成16进制,然后再转       换成2进制。

比如,十进制数 1234转换成二制数,如果要一直除以2,直接得到2进制数,需要计算较多次数。所以我们可以先除以16,得      到16进制数:

被除数

计算过程

余数

1234

1234/16

77

2

77

77/16

4

13 (D)

4

4/16

0

4

结果16进制为: 0x4D2

然后我们可直接写出0x4D2的二进制形式:0100 1101 0010。

其中对映关系为:

0100 -- 4

1101 -- D

0010 -- 2

同样,如果一个二进制数很长,我们需要将它转换成10进制数时,除了前面学过的方法是,我们还可以先将这个二进制转换        成16进制,然后再转换为10进制。

下面举例一个int类型的二进制数:

01101101 11100101 10101111 00011011

我们按四位一组转换为16进制: 6D E5 AF 1B

1.十进制转二进制    比如120这个数,转二进制,只需要一直除2取余数即可(最后结果为最高位),小数采用“乘2取整”:120/2 = 60 余 0;60/2 = 30 余 0;30/2 = 15 余 0;15/2 = 7 余 1;7/2 = 3 余 1;3/2 = 1 余 1;1/2 = 0 余 1;//最后结果为 111 1000,当然一般都是八位就是 0111 10... (1) 是人们规定的一种进位方法 (2) X进制是代表某一位置上的数运算时 逢X进一位我们日常生活中常用的进制为 十进制 。 (3) 由于数字计算机只能识别与处理01的符号串组合的代码其运算模式为 二进制 ,计算机里的每个 字节分成8段0与1每段可以用来记录一个0或1。 二进制 (binary) 二进制 每个数位上只有0和1两种可能 逢二进一。 数码:0... ### 回答2: Python 是一种功能强大、灵活多样的编程语言,而对数字进行数制转换是 Python 中常见的操作。本文将介绍如何使用 Python 将 十进制 数字转换为 二进制 、八进制和 十六进制 数字。 1. 十进制 二进制 十进制 数字转换为 二进制 数字,可以使用 Python 内置函数 bin()。bin() 函数接受 十进制 数字作为参数,返回一个 二进制 字符串。 例如,将 十进制 数 10 转换为 二进制 数: ```python >>> bin(10) '0b1010' 可以看到,bin() 函数返回的结果是一个以 "0b" 开头的 二进制 字符串。如果不想要这个前缀,可以使用切片操作去掉: ```python >>> bin(10)[2:] '1010' 2. 十进制 转八进制 将 十进制 数字转换为八进制数字,可以使用 Python 内置函数 oct()。oct() 函数接受 十进制 数字作为参数,返回一个八进制字符串。 例如,将 十进制 数 10 转换为八进制数: ```python >>> oct(10) '0o12' 返回的结果也是一个以 "0o" 开头的八进制字符串。同样,如果不想要前缀可以使用切片操作去掉。 ```python >>> oct(10)[2:] 3. 十进制 十六进制 十进制 数字转换为 十六进制 数字,可以使用 Python 内置函数 hex()。hex() 函数接受 十进制 数字作为参数,返回一个 十六进制 字符串。 例如,将 十进制 数 10 转换为 十六进制 数: ```python >>> hex(10) '0xa' 返回的结果是一个以 "0x"开头的 十六进制 字符串。同样,如果不想要前缀可以使用切片操作去掉。 ```python >>> hex(10)[2:] Python 提供了很多内置函数来进行数制的转换操作,其中 bin()、oct() 和 hex() 函数可以用于将 十进制 数字转换成 二进制 、八进制和 十六进制 数字。欲去掉转换后的前缀,可以使用切片操作去掉。这些函数在实际编程过程中非常有用,方便快捷。 ### 回答3: Python作为一种高级语言,其提供的内置函数和库使得数值进制之间的转换非常方便。在Python中,我们可以使用bin()、oct()和hex()这三个内置函数来进行 十进制 二进制 、八进制和 十六进制 之间的转换。 1. 十进制 二进制 : 使用bin()函数可以将 十进制 数转换为 二进制 数,函数的返回值是一个字符串类型的 二进制 数。 具体使用方法如下: x = 10 # 将 十进制 数10转为 二进制 数 bin_x = bin(x) # 输出结果为:0b1010 print(bin_x) 2. 十进制 转八进制: 使用oct()函数可以将 十进制 数转换为八进制数,函数的返回值是一个字符串类型的八进制数。 具体使用方法如下: x = 10 # 将 十进制 数10转为八进制数 oct_x = oct(x) # 输出结果为:0o12 print(oct_x) 3. 十进制 十六进制 : 使用hex()函数可以将 十进制 数转换为 十六进制 数,函数的返回值是一个字符串类型的 十六进制 数。 具体使用方法如下: x = 10 # 将 十进制 数10转为 十六进制 数 hex_x = hex(x) # 输出结果为:0xa print(hex_x) 总之,Python中的内置函数和库极大地方便了数值进制之间的转换,让我们的代码编写更加高效和便捷。