プログラミング3 件の記事

プログラミング の記事

浮動小数点数 (IEEE 754) 入門 - なぜ 0.1 + 0.2 は 0.3 にならないのか

浮動小数点数 (IEEE 754) 入門 - なぜ 0.1 + 0.2 は 0.3 にならないのか

13

プログラマが必ず一度はハマる二進浮動小数点の誤差を、IEEE 754 を一次ソースに解説します。なぜ十進の 0.1 が二進で正確に表せず 0.1 + 0.2 が 0.30000000000000004 になるのか、符号・指数部・仮数部の構成、単精度 (binary32) と倍精度 (binary64) のビット配分、特殊値 (無限大・NaN・非正規化数)、既定の最近接偶数丸めと機械イプシロン、そして等値比較を避ける・金額は整数で扱うといった実務の対処までをまとめます。

Rust 入門 - rustup でインストールして、コラッツ数列ツールで動作確認する

Rust 入門 - rustup でインストールして、コラッツ数列ツールで動作確認する

13

Rust をこれから触る人向けに、言語の特徴(所有権・借用によるメモリ安全、GCなしの高速性、Cargo と充実したツール)を整理し、公式の rustup でのインストール手順、cargo の基本コマンドを通します。最後に動作確認として書いた「コラッツ数列ジェネレータ」を題材に、Result によるエラー処理、checked_mul でのオーバーフロー対策、構造体とテストの同居といった Rust らしい書き方を、実際の実行結果つきで紹介します。Rust 1.96.0 / edition 2024 で検証。

正規表現 実践入門 - よく使うパターンと、ReDoS などの落とし穴

正規表現 実践入門 - よく使うパターンと、ReDoS などの落とし穴

9

正規表現を実務目線で整理します。文字クラス・量指定子・アンカー・グループといった基本、キャプチャ/非キャプチャ/名前付きグループ、先読み・後読み、貪欲と非貪欲、フラグの違い、そして ReDoS(壊滅的バックトラッキング)やメールアドレス完全正規表現の誤謬、HTML を正規表現でパースしてはいけない理由まで、MDN を一次ソースに「使うべきでない場面」も含めてまとめます。