?如果把兩個(gè)不同整數(shù)類型的變量或常量進(jìn)行運(yùn)算(包括賦值運(yùn)算、算術(shù)運(yùn)算和比較運(yùn)算)躁锁,必須顯式地將其轉(zhuǎn)換為相同的整數(shù)類型纷铣,否則會(huì)編譯出錯(cuò)。
var i8: Int8 = 23
var i16: Int16 = 58
// 把兩個(gè)不同整數(shù)類型的變量進(jìn)行賦值運(yùn)算
// i8 = i16
// i16 = i8
// 必須顯式地將其轉(zhuǎn)換為相同的整數(shù)類型
i16 = Int16(i8)
i8 = Int8(i16)
// 把兩個(gè)不同整數(shù)類型的變量進(jìn)行算術(shù)運(yùn)算
// i8 + i16
// 必須顯式地將其轉(zhuǎn)換為相同的整數(shù)類型
Int16(i8) + i16
Int8(i16) +i8
// 把兩個(gè)不同整數(shù)類型的變量進(jìn)行比較運(yùn)算
i8 > i16
// 必須顯式地將其轉(zhuǎn)換為相同的整數(shù)類型
Int16(i8) > i16
i8 > Int8(i16)
?在進(jìn)行顯式類型轉(zhuǎn)換時(shí)战转,如果被轉(zhuǎn)換的變量或常量的值超出了超出了轉(zhuǎn)換后的數(shù)據(jù)類型所能表示的數(shù)值范圍搜立,程序是可以編譯通過(guò)的,但是運(yùn)行時(shí)會(huì)出錯(cuò)槐秧。
i16 = 798
// 被轉(zhuǎn)換的變量的值798超出了轉(zhuǎn)換后的數(shù)據(jù)類型Int8所能表示的數(shù)值范圍
Int8(i16)