本文目录一览:
522黑客情人节怎么算的
黑客情人节是5月22号,因为在16进制里面的522等于10进制里面的1314,所以被IT行业称为黑客情人节。我是2006年上的大学,不久就听过这个梗,印象特别深。所以,很多人说这个说法出自某脱口秀,这是不确凿的。
10进制下,一个数字从右到左的第X位数,代表10的(X-1)次方,比如522的从右到左第三位,就代表10的(3-1)次方也就是我们常说的百位,而其数值是5,就代表了5乘以10的(3-1)次方。而在16进制里面,则代表的是16的(X-1)次方。所以522的从右到左第三位代表的位数是16的(3-1)次方,而这一位的数值是5,就代表5乘以16的(3-1)次方。同理可以推出从右到左第二位、第一位的换算办法。
经换算,16进制的522=10进制的1314.
说点题外话,“进制”可以通过很形象的办法去理解:
我们常用的十进制,就好比一个小号篮子能放10只鸡蛋。一中号篮子能放10个小号篮子,一个大号篮子能放10个中号篮子,一个超大号篮子能放10的大号篮子……以此类推。
而十六进制,就好比就好比一个小号篮子能放16只鸡蛋。一中号篮子能放16个小号篮子,一个大号篮子能放16个中号篮子,一个超大号篮子能放16的大号篮子……以此类推。
在自然界,10、100、1000……并不是一个“坎儿”,而是因为人类文明的计数方式,让人久而久之觉得10的次方是一个个“坎儿”。其实,计数进制可以是很多种,二进制、三进制、四进制等等各种进制都可以。只是常规用的是十进制,IT用的是二进制、十六进制等。这些进制之间其实是平等的,只是有更便于计算。
顺便给你个“拓展题”,上面说是16进制下的522等于10进制的1314,那么反过来呢?10进制下的522等于16进制下的多少?
为什么硬件黑客喜欢用基数为16的计数方式在书写整数
-我们日常使用的是十进制数,每个位上可以出现:0 1 2 3 4 5 6 7 8 9共十个数,比如123=3*1+2*10+1*100,注意个位乘以10的0次方,十位乘以10的1次方,百位乘以10的2次方,...
-计算机无法找到电子元件能简单表示十种状态,找到能稳定表示两种状态的元件容易,所以采用二进制,每个位上可以出现:0 1共两个数,比如二进制1010=0*1+1*2+0*4+1*8=十进制的10,注意每位参与运算的是2的0次方、1次方、2次方,...所以叫二进制
-二进制计算机记忆起来容易,编程的人看起来麻烦,容易乱,就找了一种更容易记又容易翻译成二进制的方法来计数——16进制,每位上可以出现:0 1 2 3 4 5 6 7 8 9 A B C D E F,如十六进制B123=3*1+2*16+1*16*16+11*16*16*16=十进制45347,这样每位对应二进制4位,如B123写成二进制数就是1011 0001 0010 0011
-在写与硬件相关的程序时,一般用16进制数来写,这样可以与机器取得某种默契,利于调试程序,当然计算机在翻译程序时,需要将16进制数据转换成二进制的来用。
黑客需要学什么?
一、熟练掌握C语言,汇编语言。黑客新手都要学到反汇编,通过一个程序运行的汇编套路来分析其源代码。并用c语言进行测试。
二、懂得计算机原理:分析程序数据没有十进制,只有2进制和16进制,要懂得基本运算。
还有基本术语以及某些分析程序。