Разница между 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 трудно определить или определить компилятором:

https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html

Int может быть 32 или 64 бит

Другие вопросы по тегам