整数型とその範囲
Int、UInt、Int8〜Int64と、それぞれの上限・下限を理解します。
「整数型とその範囲」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwift Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Swift Academyコースには全4レッスンが含まれています。
Swiftの整数型
Swiftには複数の整数型があります。Intがデフォルトで、プラットフォームのワードサイズ(通常は64ビット)に一致します。また、Int8、Int16、Int32、Int64のような固定幅の型もあります。
let count: Int = 42
print(count)
print(type(of: count))符号付きと符号なし
符号付き型(Int)は、負の値と正の値を保持できます。符号なし型(UInt)は、0と正の値だけを保持し、より大きな正の範囲を利用できます。
let signed: Int = -10
let unsigned: UInt = 10
print(signed, unsigned)固定幅整数のサイズ
型名に含まれる数字はビット幅を表します。Int8は8ビット、Int16は16ビットを使用し、以降も同様です。ビット数が多いほど範囲は広くなります。
print(MemoryLayout<Int8>.size)
print(MemoryLayout<Int16>.size)
print(MemoryLayout<Int64>.size)minとmaxプロパティ
すべての整数型には.minと.maxがあり、その型で表現できる最小値と最大値を示します。
print(Int8.min, Int8.max)
print(UInt8.min, UInt8.max)Int8の範囲
符号付きのInt8の範囲は-128から127です。この非対称性は、0以上の側で0に1つの値を割り当てる必要があることから生じます。
print("Int8 range:", Int8.min, "to", Int8.max)UInt8の範囲
符号なしのUInt8の範囲は0から255です。符号ビットが不要なため、8ビットすべてで値の大きさを表します。
print("UInt8 range:", UInt8.min, "to", UInt8.max)より大きな整数の範囲
Int16、Int32、Int64は、範囲が指数関数的に広がります。Int32の時点で、絶対値が20億を超える値を扱えます。
print("Int16 max:", Int16.max)
print("Int32 max:", Int32.max)
print("Int64 max:", Int64.max)プラットフォームのInt
64ビットプラットフォームでは、IntはInt64と同じです。固定幅が特に必要でない限り、一般的なコードでは通常のIntを優先してください。
print("Int.max:", Int.max)
print("Same as Int64:", Int.max == Int64.max)整数型の選び方
デフォルトではIntを使います。バイナリ形式、ハードウェア、またはメモリ効率が重要なデータを扱う場合は、固定幅の型を選びます。
let pixelChannel: UInt8 = 200
let fileOffset: Int64 = 5_000_000_000
print(pixelChannel, fileOffset)minとmaxで範囲を検出する
変換する前に、値が対象の型に収まるかを実行時に検証するため、.minと.maxを使えます。
let big = 300
let fits = big >= Int(UInt8.min) && big <= Int(UInt8.max)
print("Fits in UInt8:", fits)整数のビット幅の復習例
ビットが1つ増えるごとに、範囲はおよそ2倍になります。このプログラムでは、ビット幅が段階的に広くなる符号なし型の最大値を示します。
print(UInt8.max)
print(UInt16.max)
print(UInt32.max)理解度チェック
符号付き8ビット整数の正確な範囲を思い出してください。
まとめ:整数型と範囲
Intはプラットフォームのサイズに応じたデフォルト型であること、符号付き型は負の値まで扱い、符号なし型(UInt)は0から始まること、そしてInt8からInt64までの固定幅型には、ビット幅に応じて広がる固有の.min/.maxの範囲があることを学びました。
print("Defaults and bounds:")
print(Int.max)
print(Int8.min, Int8.max)
print(UInt8.max)よくある質問
「整数型とその範囲」レッスンは無料ですか?
はい。「整数型とその範囲」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全4レッスンが含まれています。
「整数型とその範囲」で何を学びますか?
Int、UInt、Int8〜Int64と、それぞれの上限・下限を理解します。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Swift Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのSwift Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「整数型とその範囲」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このSwift Academyレッスンでコードを書いて実行できますか?
はい。すべてのSwift Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。