gpt4 book ai didi

objective-c - Swift 中的 Unsigned Int 到负 Int

转载 作者:搜寻专家 更新时间:2023-10-31 08:18:47 26 4
gpt4 key购买 nike

我正在处理 Pebble 加速度计数据,需要将负整数的无符号表示形式转换为正常数字(例如,请注意前两个)。

[X:4294967241,Z:4294967202,Y:22]
[X:4294967278,Z:4294967270,Y:46]
[X:4294967274,Z:4294967278,Y:26]
[X: 4294967221, Z: 85, Y: 4294967280]
[X: 4294967247, Z: 117, Y: 4294967266]

使用 Objective C,我已经设法通过简单的 [number intValue] 做到了这一点。但是,使用 Swift 我找不到这样做的方法。我试过 Int(number),但我得到了相同的值。

最佳答案

如果你收到错误的类型,你总是可以做一个unsafeBitcast:

unsafeBitCast(UInt32(4294967009), Int32.self)  // -287

例如将 UInt32 转换为 Int32

编辑:vacawama展示了一个没有讨厌的 unsafe 的更好的解决方案:

Int32(bitPattern: 4294967009)

非常感谢!改用这个,它很安全(显然)而且可能更快

关于objective-c - Swift 中的 Unsigned Int 到负 Int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31881274/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com