gpt4 book ai didi

swift - 从二进制的快速字符串中获取有符号整数

转载 作者:搜寻专家 更新时间:2023-11-01 06:03:24 33 4
gpt4 key购买 nike

我目前正在尝试使用该功能

Int(binaryString, radix: 2)

将二进制字符串转换为 Int。但是,此函数似乎总是将二进制字符串转换为无符号整数。例如,

Int("1111111110011100", radix: 2)

返回 65436,如果它正在进行带符号的 int 转换,我希望从中得到 -100。我并没有真正使用二进制,所以我想知道我应该在这里做什么?是否有一种内置于 Swift3 中的代码高效方式可以为带符号的整数执行此操作?我最初希望它能工作,因为它是一个 Int 构造函数(不是 UInt)。

最佳答案

玩转你可以得到想要的结果如下:

let binaryString = "1111111110011100"
print(Int(binaryString, radix: 2)!)
print(UInt16(binaryString, radix: 2)!)
print(Int16(bitPattern: UInt16(binaryString, radix: 2)!))

输出:

65436
65436
-100

期望的结果来自使用 UInt16 的位模式创建带符号的 Int16

关于swift - 从二进制的快速字符串中获取有符号整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43903221/

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