LoginSignup
2

More than 1 year has passed since last update.

数値型について【Swift】

Posted at

数値型とは

数値型は、名前の通り数値を表します。
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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2