转换为位数较少的小端
converting to little endian with less digits
Little endian 非常简单,当您查看类似以下内容时:0x8048cc54 -> \x54\xcc\x48\x80
。如果你想将它们转换为 8 字节,那么 0x8048cc4 或 0x8048cc 你会怎么做。如果这是错误的论坛,请告诉我,我会移动它。
这取决于您的值的容器(内存大小)。如果(如第一个示例)该值被视为 32 位,您只需要查看它的 "full scope":
0x8048cc4 == 0x08048cc4
0x8048cc == 0x008048cc
从这里开始,转换字节序的答案很简单...
"Endianness" 就是你写数字的顺序。
世界上大多数人都用大端写东西;最重要的数字排在最前面,继续到最不重要的最后:
123 = 100 + 20 + 3 (= 1×10² + 2×10¹ + 3×10⁰)
然而,从计算机的角度来看,从另一端看它通常很有用:
321 = 3 + 02 + 001 (= 3×10⁰ + 2×10¹ + 1×10²)
计算机中数字的 'digits' 由值 0..255 组成——也就是说,每个数字都是一个字节。我们人类没有 256 个不同的符号来写入该字节值,因此我们将其从 256 进制转换为 16 进制。
要用小字节序编写,从最低有效字节开始,然后剥离,直到 运行 超出 bytes/digits:
0x0848cc4 --> \xc4\x8c\x84\x00
0x8048cc --> \xcc\x48\x80\x00
希望对您有所帮助。
Little endian 非常简单,当您查看类似以下内容时:0x8048cc54 -> \x54\xcc\x48\x80
。如果你想将它们转换为 8 字节,那么 0x8048cc4 或 0x8048cc 你会怎么做。如果这是错误的论坛,请告诉我,我会移动它。
这取决于您的值的容器(内存大小)。如果(如第一个示例)该值被视为 32 位,您只需要查看它的 "full scope":
0x8048cc4 == 0x08048cc4
0x8048cc == 0x008048cc
从这里开始,转换字节序的答案很简单...
"Endianness" 就是你写数字的顺序。
世界上大多数人都用大端写东西;最重要的数字排在最前面,继续到最不重要的最后:
123 = 100 + 20 + 3 (= 1×10² + 2×10¹ + 3×10⁰)
然而,从计算机的角度来看,从另一端看它通常很有用:
321 = 3 + 02 + 001 (= 3×10⁰ + 2×10¹ + 1×10²)
计算机中数字的 'digits' 由值 0..255 组成——也就是说,每个数字都是一个字节。我们人类没有 256 个不同的符号来写入该字节值,因此我们将其从 256 进制转换为 16 进制。
要用小字节序编写,从最低有效字节开始,然后剥离,直到 运行 超出 bytes/digits:
0x0848cc4 --> \xc4\x8c\x84\x00
0x8048cc --> \xcc\x48\x80\x00
希望对您有所帮助。