基数変換

2進数、8進数、10進数、16進数など、様々な基数間で変換します。

基数変換
変換する数値と基数を選択してください

数値(10) 2進数 (基数2)

利用可能な文字

基数2-10

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

基数11-36

0-9, A-Z (A=10, B=11, ..., Z=35)

数値基数システム

2進数 (基数2)

文字: 0, 1

コンピュータの基本言語

例: 1010₂ = 10₁₀

8進数 (基数8)

文字: 0-7

Unixのパーミッションで使用

例: 12₈ = 10₁₀

10進数 (基数10)

文字: 0-9

日常生活で使用

例: 10₁₀

16進数 (基数16)

文字: 0-9, A-F

カラーコード、メモリアドレス

例: A₁₆ = 10₁₀

変換方法

他の基数 → 10進数: 各桁に基数の対応するべき乗を掛けて合計する

10進数 → 他の基数: 目的の基数で割り、余りを逆順に並べる

数体系の歴史とコンピュータ科学への応用

数体系の歴史的発展

数体系は人類の文明とともに進化してきました。古代バビロニアの60進数、マヤの20進数から、現在の10進数まで、各文明はそれぞれのニーズに合った数体系を開発してきました。

古代文明の数体系

  • バビロニアの60進数: 時間と角度の測定の起源
  • エジプトの10進数: ヒエログリフに基づく数体系
  • マヤの20進数: 指とつま先に基づく
  • ローマ数字: 加算表記法

現代の数体系の応用

  • 10進数: 日常生活の標準
  • 2進数: コンピュータの基本言語
  • 16進数: プログラミングとメモリアドレス
  • 8進数: Unixパーミッションシステム

コンピュータ科学における数体系

2進数 (基数2)

原理: 0と1のみを使用

用途: CPU、メモリ、論理回路

利点: 電気信号で実装が容易

例: 1010₂ = 10₁₀

応用: デジタル通信、データストレージ

16進数 (基数16)

原理: 0-9、A-Fを使用

用途: メモリアドレス、カラーコード

利点: 2進数をコンパクトに表現

例: FF₁₆ = 255₁₀

応用: Web開発、システムプログラミング

8進数 (基数8)

原理: 0-7を使用

用途: Unixファイルパーミッション

利点: 3ビットをグループ化

例: 755₈ = 493₁₀

応用: システム管理、セキュリティ設定

プログラミングにおける数体系

実世界の例

カラーコード: #FF0000 (赤)

メモリアドレス: 0x7FFF5FBFF5B0

ファイルパーミッション: chmod 755 (rwxr-xr-x)

ビット演算: 0b1010 & 0b1100

ネットワーク: IPアドレスサブネットマスク

デバッグと最適化

メモリダンプ: メモリ内容を16進数で確認

ビットフラグ: 状態を2進数で管理

ハッシュ値: チェックサムを16進数で表現

暗号化: バイトを16進数で処理

圧縮: ビットレベルでデータを操作

基数変換の数学的原理

位取り記数法

各桁の値は基数のべき乗によって決定されます。

1234₁₀ = 1×10³ + 2×10² + 3×10¹ + 4×10⁰
1010₂ = 1×2³ + 0×2² + 1×2¹ + 0×2⁰ = 10₁₀

変換アルゴリズム

10進数 → n進数

  1. 1. 10進数をnで割る
  2. 2. 余りを記録する
  3. 3. 商が0になるまで繰り返す
  4. 4. 余りを逆順に並べる

n進数 → 10進数

  1. 1. 各桁に基数のべき乗を掛ける
  2. 2. すべての値を合計する
  3. 3. 結果が10進数値となる

数体系の実用的な応用

Web開発

  • CSSカラーコード (#RGB, #RRGGBB)
  • URLエンコーディング (%20, %3Aなど)
  • Base64エンコーディング (メール、画像)
  • Unicode文字コード (U+0041)

システム管理

  • ファイルパーミッション設定 (chmod 755)
  • ネットワーク設定 (サブネットマスク)
  • メモリアドレス分析
  • ログファイル分析

💻 実践的なヒント

  • 開発者ツール: ブラウザの開発者ツールで16進数のカラーコードを直接確認できます。
  • 計算機の使用: プログラマー向け計算機を使用して、簡単に基数変換できます。
  • ビット演算: 2進数を理解することで、ビット演算子(&, |, ^, ~)を効果的に使用できます。
  • メモリ最適化: 数体系を理解することで、メモリ使用量を最適化できます。