Int和Uint8 swift之间的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Int和Uint8 swift之间的区别相关的知识,希望对你有一定的参考价值。

在swift中Int和UInt8的数据类型有什么区别。

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

答案

UInt中的U代表unsigned int。

它不仅仅用于二进制数据。 Uint仅用于正数,就像自然数一样。我建议您了解计算机如何理解负数。

另一答案

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

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

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
}

以上是关于Int和Uint8 swift之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中将 bytes/UInt8 数组转换为 Int

使用 Swift 将 UInt8?、String、Int 转换为 String 类型

在Swift中将bytes / UInt8数组转换为Int

如何将这个 Objective-C 代码片段写入 Swift?

在 Swift 中浮动的 Uint8 数组 [重复]

这两个代码片段之间有区别吗?如果有,那又如何? [复制]