Разница между Int и Uint8 Swift
Каковы различия между типами данных Int & UInt8 в быстрой.
Похоже, что UInt8 используется для двоичных данных, мне нужно конвертировать UInt8 в Int, если это возможно.
1 ответ
То, что в UInt означает неподписанный int.
Это не просто использование для двоичных данных. Uint используется только для положительных чисел, как натуральные числа. Я рекомендую вам узнать, как отрицательные числа понимаются с компьютера.
Int8 - это тип Integer, который может хранить положительные и отрицательные значения.
UInt8 - это целое число без знака, которое может хранить только положительные значения.
Вы можете легко конвертировать UInt8 в Int8, но если вы хотите конвертировать Int8 в UInt8, убедитесь, что значение должно быть положительным.
Обновлено для 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
}
UInt8 - это 8-битное хранилище, в то время как Int трудно определить или определить компилятором:
Int может быть 32 или 64 бит