执行byteswap是什么意思?

Sch*_*aki 5 c++

有很多地方讨论如何进行不同类型的字节交换,但是我很难找到一个解释该概念的地方以及一些有关如何发生字节交换的典型示例。

所以这是一个问题:什么是字节交换?为什么/何时需要这样做?

如果示例是解释的好方法,如果它们在标准C ++中出现,我将很高兴。最好参考Lippman或Pratas C ++引物作为参考书,因为这些是我可以得到的。

Ani*_*nge 5

如果我没有理解你的问题,你在谈论big endianlittle endian转换和背部。

发生这种情况是因为某些微处理器使用little endian格式来引用内存,而其他微处理器则使用big endian格式。

例如,互联网上的字节流,big endian而您的Intel CPU使用little endian格式。

因此,要从网络转换为CPU或从CPU转换为网络,我们需要一种称为字节交换的转换机制。

操作系统提供ntohl()htonl()这样做的功能。