在Swift中将有符号转换为无符号
在C语言中,我可以使用数字做一些技巧:
uint8_t value = 0int delta = -1
uint8_t result = value + delta /* result will be 0xFF */
在Swift中有没有办法做到这一点?请注意,相同的方法无效:
let value: UInt8 = 0let delta: Int = -1
var result: UInt8 = value + delta // Error, even typecasting in different ways...
有没有一种方法可以让C的行为在Swift中减法?
谢谢!
回答:
所有有符号和无符号整数类型都有一个bitPattern:
构造函数,该构造函数从具有相同内存表示形式的有符号(反之亦然)创建无符号数字:
let delta: Int8 = -1let result: UInt8 = UInt8(bitPattern: delta) // 0xFF = 255
以上是 在Swift中将有符号转换为无符号 的全部内容, 来源链接: utcz.com/qa/409600.html