Objective c 从整数到字节:是否需要考虑Endianess?
在这种情况下,我是否需要担心endianness(整数必须是0-127):Objective c 从整数到字节:是否需要考虑Endianess?,objective-c,endianness,Objective C,Endianness,在这种情况下,我是否需要担心endianness(整数必须是0-127): 我认为,因为每个整数都位于自己的字节中,所以在系统之间传递字节数组时,我不必担心字节数组的Endianess。这在经验上也是可行的。我遗漏了什么吗?不,您不必担心,编译器生成的代码可以进行正确的强制转换和赋值。Endianness只影响单个值中字节的顺序。单个字节不受endian问题的影响,而且数组始终是顺序的,因此字节数组在big-endian和little-endian体系结构上是相同的 请注意,这并不一定意味着仅使
我认为,因为每个整数都位于自己的字节中,所以在系统之间传递字节数组时,我不必担心字节数组的Endianess。这在经验上也是可行的。我遗漏了什么吗?不,您不必担心,编译器生成的代码可以进行正确的强制转换和赋值。Endianness只影响单个值中字节的顺序。单个字节不受endian问题的影响,而且数组始终是顺序的,因此字节数组在big-endian和little-endian体系结构上是相同的
请注意,这并不一定意味着仅使用
char
s将使数据类型100%字节可移植。例如,结构可能仍然包括依赖于体系结构的填充,一个系统可能有无符号的char
s,而另一个系统使用有符号的(尽管我看到您通过只允许0-127来避开这一点)。答案中所需的一切。
int a = 120;
int b = 100;
int c = 50;
char theBytes[] = {a, b, c};