在swift中Int和UInt8的数据类型有什么区别。
看起来像UInt8用于二进制数据,我需要将UInt8转换为Int这是可能的。
UInt中的U代表unsigned int。
它不仅仅用于二进制数据。 Uint仅用于正数,就像自然数一样。我建议您了解计算机如何理解负数。
UInt8是一个8位存储,而Int很难由编译器定义或定义:
Int可以是32位或64位
更新为swift:
Operation Output Range Bytes per Element
uint8 0 to 255 1
Int - 9223372036854775808 to 9223372036854775807 2 or 4
如果要查找Int或UInt8的最大和最小范围:
let maxIntValue = Int.max
let maxUInt8Value = UInt8.max
let minIntValue = Int.min
let minUInt8Value = UInt8.min
如果要将UInt8转换为Int,请使用以下简单代码:
func convertToInt(unsigned: UInt) -> Int {
let signed = (unsigned <= UInt(Int.max)) ?
Int(unsigned) :
Int(unsigned - UInt(Int.max) - 1) + Int.min
return signed
}