如何在UInt8数组中存储负数

时间:2016-12-06 12:01:00

标签: ios swift3 xcode8

我是iOS开发的新手,当我在byte/UInt8数组中存储无符号数时,它会显示错误。

var iv: [UInt8] = [69, 56, 30, -78, -8, 9, 81, 37, -116, 56, -4, 95, -106]
  存储在无符号类型 UInt8

时,

负整数 78 溢出

编辑

我将它用于加密目的,如果我将其更改为已签名的密码输出将更改任何其他解决方案?或者如何将其转换为签名的swift

3 个答案:

答案 0 :(得分:3)

你不能,UInt是无符号整数表示非负数,将数组的类型更改为Int

答案 1 :(得分:1)

UInt8Unsigned Integer,其范围为0...255,因此您无法存储超出此范围的值意味着非负数,而在255中,如果您想存储负数然后使用Int8,其范围为-128...127

答案 2 :(得分:0)

uint8是一个UNSIGNED(" u"在uint8中)整数。它的范围是0到255.因此它不能存储范围之外的数字(负数不在范围内)。

int8是一个SIGNED整数。它从-128到127。 或者int16(-32,768到32,767),你需要将值128存储到255.

这是一个包含整数范围的好表:

wikipedia