关于16进制到二进制的转换

来源:互联网 发布:mac 忘记开机密码 编辑:程序博客网 时间:2024/06/16 08:48

      最近偶然间遇到了一个小问题 是关于16进制到二进制的转换,例如16进制 的17A 取反加1(按位取反)暂不讨论此题,文章最后会有分析。

    1. 先看看16进制到2进制的转换

     16#到2#制的转换:

       a).要想明白16进制到2#制的转换那得先搞懂什么叫16进制什么叫二进制。

        十六进制(英文名称:Hexadecimal),是计算机中数据的一种表示方法。同我们日常生活中的表示法不一样。它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0~(N-1)的数表示,超过9的用字母A-F。 可以看出16进制是 0 1 2 3 4 5  6 7 8  9 A B C D E F 的表示方法。

  二进制是计算技术中广泛采用的一种数制二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0 

知道了概念那么我们现在举个例子

16进制的 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。再看看2进制到16进制的转换
   二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。
   如(上行为二制数,下面为对应的十六进制):
    1111 1101 , 1010 0101 , 1001 1011
     F D , A 5 , 9 B
3。接下来 我们来看看文章开头说到的16进制17A取反加1(按位取反单独的取反操作)
用我们的方法将17A 分开: 1 我们用2进制表示 0001 
                                            7我们用二进制表示0111
                                             A 为10 我们用二进制表示 1010
所以17A的二进制为 0001 0111 1010 按位取反(单独取反操作与补码中取反有区别)就是1110 1000 0101加1就是1110 1000 0110
转换16进制就为E86

  



0 0
原创粉丝点击