关于2进制和16进制互转的一点思索

简介:

搞计算机的就必须碰2进制和16进制,谁叫计算机只认识 0 和 1 呢。。。。


之前对16进制转2进制的时候一直有点模糊,因为16进制可以一位抵2进制的4位

比如16进制的D8,就是2进制的 1101 1000,那就是D对应于 1101,8 对应于 1000.。。


稍微计算一下就知道,确实是对的,D对应于十进制的13,而13的二进制表示正是1101,为什么会恰好是16进制的一位对应2进制的4位呢?

因为 2^4==16 。仔细思考一下,如果我们把16进制和2进制都换成10进制来处理就清楚很多了,D8是13*16+8*1,即13*2^4+8*2^0,再来仔细看一下,


一个数乘以2的多少次方,就相当于把它右移多少位:

比如5 ,他的2进制表示是0101,如果乘以8,就是0101000,后面加了3个0;

现在再来看16进制,每一位不正是乘了一个2的4次方,相当于右移4位,再加上前面的数吗?


顿时恍然大悟!


The END

相关文章
|
11月前
|
【软件设计师备考 专题 】数制基础:二进制、十进制和十六进制的理解与转换
【软件设计师备考 专题 】数制基础:二进制、十进制和十六进制的理解与转换
243 1
【软考学习1】数据表示——进制转换,R进制转10进制 和 10进制转R进制
【软考学习1】数据表示——进制转换,R进制转10进制 和 10进制转R进制
356 0
【软考学习1】数据表示——进制转换,R进制转10进制 和 10进制转R进制
算法练习题(四)——十六进制和十进制的相互转换
算法练习题(四)——十六进制和十进制的相互转换
197 0
|
10月前
用人话教会你各个进制的意思和进制间的转化!!!
用人话教会你各个进制的意思和进制间的转化!!!
C# 十进制与十六进制互转
1.从十六进制转换为十进制 /// /// 十六进制转换到十进制 /// /// /// public static string Hex2Ten(string hex) ...
2017 0
将二进制转换为其它进制(这里转化为16进制,其它自己尝试)
代码很简单,看看就懂了,没什么好说的,就是一些位操作。 #include #define LongToBin(n) \ ( \ ((n >> 21) & 0x80) | \ ((n >> 18) & 0x40) | \ ((n >> 15) & 0x20...
920 0
C# 进制转换(二进制、十六进制、十进制互转)
原文:C# 进制转换(二进制、十六进制、十进制互转) //1.请问c#中如何将十进制数的字符串转化成十六进制数的字符串 //十进制转二进制 Console.
2741 0
计算机基础(2)——进制与进制转换
进制也就是进位计数制,是人为定义的带进位的计数方法。 对于任何一种进制---X进制,就表示每一位置上的数运算时都是逢X进一位。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。
104 2
计算机基础(2)——进制与进制转换
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等