美文网首页
魔数是什么?

魔数是什么?

作者: 罗蓁蓁 | 来源:发表于2017-12-29 18:05 被阅读188次

魔数是什么?

魔数,magic number,这真是让人迷惑不解,什么样的数字是魔数呢?魔数又是什么意思呢?哈哈,其实魔数的本意就是让人感到迷惑的数,看到某个数,不知道其代表何意,用东北话说,都蒙圈了。
魔数,其实也称为神奇数字,我们大多数人是在学习计算机过程中接触到这个词的。它被用来为重要的数据定义标签,用独特的数字唯-地标识该数据,这种独特的数字是只有少数人才能掌握其奥秘的“神秘力量”。
故,直接出现的一个数字,只要其意义不明确,感觉很诡异,就称之为魔数。魔数应用的地方太多了,如elf 文件头。
ELF Header :
Magic : 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
这个Magic 后面的一长串就是魔数, elf 解析器(通常是程序加载器)用它来校验文件的类型是否是elf。
主引导记录最后的两个字节的内容是0x55, 0xaa,这表明这个扇区里面有可加载的程序, BIOS 就用它来校验该扇区是否可引导。
有人说只要为这些数字赋予实际的意义不就行了吗。其实,无论怎么给这组陌生的数字赋予名称,它都不像熟悉的出生日期那样直观易懂(如对于19590318,不解释大家也会知道0318 是3 月18 日),反而还要额外增加一些内容来解释,得不偿失,所以这就是魔数不得不存在的原因。
我们知道,一个硬盘上可以有很多分区,每个分区的格式又可以不同。就拿Linux 来说,既能识别ext3,又能识别ext4 。可能有同学会说,这两个分区的文件系统都是Linux 自己专用的,当然认得自己的东西了。
可是自己的东西也得有个辨别的地方,否则凭什么说“认得”呢。
其实这是魔数的作用,文件系统也有自己的魔数,魔数的神秘力量在此施展了。各分区都有超级块,一般位于本分区的第2 个扇区,比如若各分区的扇区以0 开始索引,其第1 个扇区便是超级块的起始扇区。超级块里面记录了此分区的信息,其中就有文件系统的魔数, 一种文件系统对应一个魔数,比对此值便知道文件系统类型了。

相关文章

  • 魔数是什么?

    魔数是什么? 魔数,magic number,这真是让人迷惑不解,什么样的数字是魔数呢?魔数又是什么意思呢?哈哈,...

  • Java中的”魔数”

    在编程过程中,我们可能经常听到“魔数”这个词,那么这个词到底指的是什么呢?什么数叫做魔数呢? 一、标识文件类型的“...

  • 13. 字节码文件解析

    魔数 魔数:所有的.class字节码文件的前4个字节都是魔数,魔数值为固定值:0xCAFEBABE 版本信息 魔数...

  • 魔数

    很多类型的文件,其起始的几个字节的内容是固定的(或是有意填充,或是本就如此)。根据这几个字节的内容就可以确定文件类...

  • 深入理解JVM3 - Java字节码文件

    魔数 所有的.class字节码文件的前4个字节都是魔数。魔数值为固定的值:0xCAFEBABE(James Gos...

  • Class文件的标识:魔数

    Magic Number(魔数) 每个Class文件开头的4个字节的无符号整数称为魔数(Magic Number)...

  • ICS四网合一,打造全球华人命运共同体,成就全球第一链商品牌。

    【ICS】相互链是什么? 01 ICS相互链钱包 基于魔数技术打造的ICS钱包转账处理速度达到每秒1700笔,这个...

  • 手工加壳脱壳

    PE文件的Magic code(魔数、幻数)是什么? MZ头、PE头 PE文件中文件头的信息有哪些? 运行平台、时...

  • Java Class文件格式

    魔数与Class文件版本 每个Class文件的头4个字节称为魔数(Magic Number),作用是确定这个文件是...

  • 《深入理解Java虚拟机》学习笔记(四)(类文件结构)

    魔数与Class文件的版本 魔数(Magic Number)每个Class文件的头4个字节唯一作用是确定这个文件是...

网友评论

      本文标题:魔数是什么?

      本文链接:https://www.haomeiwen.com/subject/cekwgxtx.html