假设整数是2个字节,我想存储769。在二进制中,它将存储为00000011 00000001
如果我将其转换为小端,那么它应该存储为 00000001 00000011 。这样存储后,二进制数的值应该是49280(从左到右)。即使我从右向左计算,也和769不一样。
编译器是否再次重新排列字节以计算正确的值?在这种情况下,我猜大端会比小端更好。
最佳答案
big endian和little endian描述了内存管理的存储方式,即“字节”如何存储在内存中,并不意味着计算。 & 您可以在处理器周期之后交换字节。您可能会做错,因为您在处理器执行之前交换字节,这就是它给出错误值的原因!
关于c - 二进制值的小端计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48220320/