Int和Uint8 swift之间的区别

时间:2017-06-11 07:58:13

标签: swift int swift-data

Int&数据类型之间有什么区别? UInt8在swift中。

看起来UInt8用于二进制数据,我需要将UInt8转换为Int这是可能的。

4 个答案:

答案 0 :(得分:1)

UInt中的U代表unsigned int。

它不仅用于二进制数据。 Uint仅用于正数,例如自然数。 我建议您开始了解如何从计算机理解负数。

答案 1 :(得分:0)

UInt8是一个8位存储,而Int很难由编译器定义或定义:

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

Int可以是32位或64位

答案 2 :(得分:0)

  

更新迅速:

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
}

答案 3 :(得分:0)

Int8 是可以存储正值和负值的整数类型。

UInt8 是一个无符号整数,只能存储正值。

您可以轻松地将 UInt8 转换为 Int8 ,但是如果要将 Int8 转换为 UInt8 ,请确保值应该为正。