数値リテラルとアンダースコア
16進数、2進数、読みやすいリテラルを記述します。
「数値リテラルとアンダースコア」はCoddyKit上の無料Zig Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはZig Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Zig Academyコースには全4レッスンが含まれています。
数値を分かりやすく書く
Zigには、扱う基数やサイズに関係なく読みやすい数値リテラルを書くための方法がいくつかあります。✍️
デフォルトは10進数です
通常の数値は、予想どおり10を基数とする10進数です。日常的な整数を書くのに特別な記法は必要ありません。
const score = 1500;0xで16進数を書く
値の前に0xを付けると、16を基数とする16進数になります。色、バイト、メモリアドレスなどに便利です。
const color = 0xFF00AA;0bで2進数を書く
0b接頭辞を付けると、2を基数とする2進数になります。各桁が1ビットなので、フラグやマスクに最適です。
const flags = 0b1010;0oで8進数を書く
あまり一般的ではありませんが、0o接頭辞を付けると8を基数とする8進数になります。主に古いシステムコードやファイル権限で見かけます。
const perms = 0o755;読みやすさのためにアンダースコアを使う
数値の途中にはどこでもアンダースコアを入れて、桁をグループ化できます。コンパイラは単に無視するため、値は変わりません。
const million = 1_000_000;16進数や2進数もグループ化する
アンダースコアはどの基数でも使えます。長い16進数や2進数のリテラルを区切ってチャンクにすると、ビットパターンがはるかに読みやすくなります。
const mask = 0b1010_0110;浮動小数点数リテラルにはドットを使う
浮動小数点数リテラルには3.14のように小数点があります。ドットがなければ整数になり、計算時の動作も異なります。
const pi = 3.14;大きな浮動小数点数には指数を使う
eと指数を追加すると、浮動小数点数のスケールを変えられます。6.02e23は、6.02に10の23乗を掛けた値を意味します。
const avogadro = 6.022e23;16進浮動小数点数もあります
ビットを正確に制御するため、Zigはp指数を伴う0xを使った16進浮動小数点数をサポートしています。使用頻度は低いものの、低レベル処理では正確です。
const hf = 0x1.8p3; // 12.0リテラルは型に合わせて変化します
リテラルは代入されるまで、型指定のないcomptime数値です。その後、選択したi32、u8、または浮動小数点数型へ暗黙変換されます。
確認問題
100万を、一目で読み取りやすい整数として書きたいとします。有効なZigのリテラルはどれでしょうか。
まとめ
0x、0b、0oを使って任意の基数で数値を書き、アンダースコアで桁をグループ化します。浮動小数点数にはドットまたはe指数を使います。🎯
よくある質問
「数値リテラルとアンダースコア」レッスンは無料ですか?
はい。「数値リテラルとアンダースコア」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Zig Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Zig Academyコースには全4レッスンが含まれています。
「数値リテラルとアンダースコア」で何を学びますか?
16進数、2進数、読みやすいリテラルを記述します。 ブラウザで直接実行するハンズオンコードでZig Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Zig Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのZig Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「数値リテラルとアンダースコア」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このZig Academyレッスンでコードを書いて実行できますか?
はい。すべてのZig Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- サイズ付き整数:i32、u8、usize
- 浮動小数点数:f32とf64
- bool、void、comptime型
- 数値リテラルとアンダースコア