cpu - 为什么字节序与单个字节无关?
问题描述
如果我翻转值的字节序,0xA1A2A3A4
我将导致0xA4A3A2A1
. 但我不明白为什么规则似乎停止在每字节级别。即,如果我只有一个字节0xA1
,我就不能翻转它。大机器和小机器都是一样的。
但是,如果我们0xA1
以二进制形式查看它10100001
,我们可以将其翻转为01011110
but that is 0x5E
。所以,我不明白。字节序不是二进制吗?它是在注册表级别(或者我们想称为二进制之上的级别,每字节级别)吗?如果我们有一个 32 位 CPU,它实际上仍然是 8 位寄存器,只是分组为 4 个吗?如果我们对 8 位的单个字节进行操作,为什么字节序无关紧要?
解决方案
可能是因为字节序与内存地址有关,而不是与内容本身有关。
Endianess 是计算机内存中字节的顺序。
推荐阅读
- python - 在python中将具有相同id的csv行值组合在一起的方法
- c# - 如何使用 FluentAssertion 编写 CustomAssertion?
- javascript - 如何更改 Promise.all 以一一发送请求
- sql-server - “IF”之前的 SQL Server 代码中的未定义错误
- java - JVM 总内存通常为 64 MB,但有时只有 2 MB
- python - 我如何在 Windows 上安装 pycairo Im,这是我尝试通过 pip 安装时遇到的错误
- listview - SwiftUI - 列表导航在 iPhone 上不起作用
- ubuntu - 更换uImage时启动时出现问题
- automation - 如何在元素的xpath中编写关键字?
- reactjs - 如何在 React 功能组件中使用 props 模拟数据