如果把两个不同整数类型的变量或常量进行运算(包括赋值运算、算术运算和比较运算),必须显式地将其转换为相同的整数类型,否则会编译出错。
var i8: Int8 = 23
var i16: Int16 = 58
// 把两个不同整数类型的变量进行赋值运算
// i8 = i16
// i16 = i8
// 必须显式地将其转换为相同的整数类型
i16 = Int16(i8)
i8 = Int8(i16)
// 把两个不同整数类型的变量进行算术运算
// i8 + i16
// 必须显式地将其转换为相同的整数类型
Int16(i8) + i16
Int8(i16) +i8
// 把两个不同整数类型的变量进行比较运算
i8 > i16
// 必须显式地将其转换为相同的整数类型
Int16(i8) > i16
i8 > Int8(i16)
在进行显式类型转换时,如果被转换的变量或常量的值超出了超出了转换后的数据类型所能表示的数值范围,程序是可以编译通过的,但是运行时会出错。
i16 = 798
// 被转换的变量的值798超出了转换后的数据类型Int8所能表示的数值范围
Int8(i16)
网友评论