之前,记录了下网络地址的认识,在结尾处,提到了ipv4地址+字节序问题,是很容易让人混乱的。所以,这里就来讨论下字节序。
其实,字节序是个单独的理论。本身来说,这方面的介绍是“数不甚数”,基本结构就是——介绍下什么是“字节序”,然后告诉下你“什么两种字节序分别是什么样子的”。然后,我就差不多了然了;然后,过两天我又差不多“混乱了”。我网上看到过一篇文章,讲出了让人混乱的根源(后续会讲到)。看到那篇文章,我就有了一种豁然开朗的感觉。(遗憾的是,现在在去找的时候找不到了,后续如果找到,会附上网址的。我这里的内容,部分参考了他的文章)
另外,我这里有些用语不是专业术语,但是应该能表达出来我想表达的。
下面就开始吧。
首先,我们一般的数字阅读顺序是:从左到右,从高到低,很明显的一个例子就是:0x0102。套用汇编中的术语,称为高位和低位(其中,01为高位内容,02为低位内容)
其次,我们内存地址,是从低到高的:char buff[2] ,内存依次是buff[0],buff[1]。
那么,我们高位01是放在buff[0]中还是放在buff[1]中?