首页 > 解决方案 > 为什么字节序与单个字节无关?

问题描述

如果我翻转值的字节序,0xA1A2A3A4我将导致0xA4A3A2A1. 但我不明白为什么规则似乎停止在每字节级别。即,如果我只有一个字节0xA1,我就不能翻转它。大机器和小机器都是一样的。

但是,如果我们0xA1以二进制形式查看它10100001,我们可以将其翻转为01011110but that is 0x5E。所以,我不明白。字节序不是二进制吗?它是在注册表级别(或者我们想称为二进制之上的级别,每字节级别)吗?如果我们有一个 32 位 CPU,它实际上仍然是 8 位寄存器,只是分组为 4 个吗?如果我们对 8 位的单个字节进行操作,为什么字节序无关紧要?

标签: cpu

解决方案


可能是因为字节序与内存地址有关,而不是与内容本身有关。

Endianess 是计算机内存中字节的顺序。


推荐阅读