数値型とは
数値型は、名前の通り数値を表します。
Swiftの数値型を大きく分類すると整数型
と浮動小数点型
に分けることができます。
整数型
整数型は、整数を表す型になります。主にInt型
、UInt型
があります。
1. 整数型の最大値と最小値
スタティックプロパティ(型に紐づくプロパティ)が用意されています。
// 最小値
let a = Int8.min // -128
// 最大値
let b = Int8.max // 127
2. 整数型の範囲
範囲 | |
---|---|
Int( 実行環境32bit ) | -2147483648 〜 2147483647 |
Int( 実行環境64bit ) | -9223372036854775808 〜 9223372036854775807 |
Int8 | -128 〜 127 |
Int16 | -32768 〜 32767 |
Int32 | -2147483648 〜 2147483647 |
Int64 | -9223372036854775808 〜 9223372036854775807 |
UInt( 実行環境32bit ) | 0 〜 4294967295 |
UInt( 実行環境64bit ) | 0 〜 18446744073709551615 |
UInt8 | 0 〜 255 |
UInt16 | 0 〜 65535 |
UInt32 | 0 〜 4294967295 |
UInt64 | 0 〜 18446744073709551615 |
-
Int型
は符号あり、UInt型
は符号なしになります。 -
Int○
やUInt○
の○
に入る数字はbit数
になります。またパソコンは2進数
を使います。
浮動小数点型
浮動小数点型とは、浮動小数点方式で小数を表す型になります。主にFloat型
とDouble型
があります。
-
Float型
・・・ 32bit(およそ10の38乗の正負の値まで表すことができる) -
Double型
・・・ 64bit(およそ10の308乗の正負の値まで表すことができる)
1. 浮動小数点型の特殊な値(無限大)
値が大きくなりすぎてFloat型
やDouble型
で扱えない数を表す。
-
infinity
・・・ 無限大を表すスタティックプロパティ -
isInfinite
・・・ 無限大かどうかを判定するインスタンスプロパティ(Bool型
)
import Foundation
let a: Double = Double.infinity
a.isInfinite // true
let b: Double = pow(10, 309) // 10の309乗
b.isInfinite // true
2. 浮動小数点型の特殊な値(非数)
不正な値で演算をし、演算できなかったことを表す。
Not a Number
を略してNaN
と表現される。
-
nan
・・・NaN
を表すスタティックプロパティ -
isNaN
・・・ 値がNaN
かどうか判定するインスタンスプロパティ(Bool型
)
let a: Double = Double.nan
a.isNaN // true
let b: Double = 0.0 / 0.0
b.isNaN // true