This question already has answers here:
Why there is a overflow with Swift language when assign a 8 bits binary value to a var of Int8 type?
(3个答案)
三年前关闭。
在Swift 3中将十六进制值转换为Int8时出现问题。
在Java中,它看起来像这样:
bytes在Java中是一个byte数组,在Swift中是Int8数组)
爪哇语:
bytes[0] = (byte) 0xFB

迅捷3:
bytes[0] = Int8(0xFB)

当我在Swift中尝试此操作时,Xcode抛出以下错误:
错误:从“Int”转换为“Int8”时出现整数溢出

最佳答案

Int8可以存储从-128(Int8.min)到127(Int8.max)的值。
0xFB为251,因此不能用Int8表示。

10-08 03:33