objective-c - 如何交换big 到主机int8 数字?

标签 objective-c c endianness

我使用二进制协议(protocol),所以通常使用:

int32_t number = SOME_NUMBER;
CFSwapInt32BigToHost(number);

但是 int8_t 又如何呢?

最佳答案

Endianess 通常指的是字节顺序。由于每个字节都有自己的地址,因此多字节字可以按两个(或更多,但通常具有大尾数或小尾数)不同方向排序,即高字节高地址或低字节高地址。所以你需要一个字节交换。

位不可寻址。所以不需要处理字节顺序。即使有一个对位进行索引的操作,也没有人会疯狂地让 0 位成为最重要的。所以你不需要进行位交换。

关于objective-c - 如何交换big 到主机int8 数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39773026/

相关文章:

ios - GMSGeoCoder 反向地理编码坐标 : completionHandler: on background thread

在 Win 10 上对 NetShareEnum 的 C 调用失败并显示 5 'Access Denied',而同一用户可以浏览 SMB 共享

c++ - uint12 结构中的字节顺序

ios - Instamojo 支付网关与 ios objective c webview 集成

iphone - NSMutableOrderedSet和NSNull行为?

c - 未检测到行尾字符

c - 如何从终端输入(linux)运行程序?

.net - 在 .NET 中反转字节顺序

c++ - 在 windows 和 solaris 之间以二进制格式交换数据有哪些可能的方法?

iphone - 如何在 subview 中添加 AVQueuePlayer 以显示 View