0Pricing
Swift Academy · レッスン

整数型とその範囲

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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 整数型とその範囲
  2. 浮動小数点数:DoubleとFloatの違い
  3. 明示的な数値変換
  4. 数値リテラルとアンダースコア
← Swift Academyに戻る