2進数からBCD変換
2進数を、複数桁の表示器に必要な8421 BCDのパターンに変換します。101010は42なので、0100と0010の2組になります。10進数の各桁に4ビットの組が割り当てられ、7セグメント表示に便利です。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 2進数
- 101010
- 2進ビット
- 6
- 10進数
- 42
- 10進数の文字列
- 42
- Bcd
- 01000010
この2進数からBCDへの変換ツールは、純粋な2進(基数2)整数を0と1の文字列として受け取り、その大きさを10進で解釈したうえで、各10進桁を4ビットの8421 2進化10進ニブルに詰めます。これは7セグメント表示ドライバ、BCDカウンタ、多くの産業用パネルが今も使う符号化と同じです。10進の数値だけを出す純2進→10進ツールや、すでに10進で入力した桁から始める10進→BCDツールとは異なり、本ページはハード面向の問い—レジスタ、カウンタ、実験課題から得た2進値を、多桁表示に渡すBCDビットパターンは何か—に答えます。エンジンは完全に決定的で、ビットを左から右へ走査し、安全な非負整数を組み立て、重み8・4・2・1で桁ごとに1ニブルを出力し、ネットワーク呼び出しも乱数も時計にも依存しません。ディジタル論理の宿題、ファームウェアダンプ、面接演習にはブラウザで無料でお使いいただけます。
2進→BCDの意味と応答に含まれる内容
ここで用いる自然8421形式の2進化10進は、0から9までの各10進桁に、左から右へ重みが8・4・2・1の4ビットパターンを割り当てます。桁0は0000、1は0001、5は0101、9は1001です。複数桁の値は、大きさの10進桁と同じ順でそれらのニブルを連結するだけです。
本ページの重要な第一段階は10進BCDエンコーダとは異なります。入力は純粋な2進ビット列です。計算機はその列を符号なし基数2整数として解釈します—101010は42であり、BCDニブル列ではありません—その後はじめて各10進桁を8421形式へ写像します。
したがって42は0100と0010の2ニブルになり、255は2・5・5の3ニブルになります。これは元のビットをすでに詰めたBCDとして扱うこととも、純2進とも異なります。255の純2進は8個の1ですが、BCDは人が7セグメントハードが桁ごとに独立して駆動できるよう、3つの桁グループを保ちます。
近似経路も不正入力の黙認変換もありません。すでに10進桁列がありBCD詰めだけが必要なら10進BCD変換を、2進列の10進値だけが必要なら2進→10進変換をご利用ください。本ページはファームウェアと表示実験が実際に求める組み合わせ経路を扱います。
入力した2進数の読み方と結果の一貫性
値は0と1だけで表す非負の整数2進量でなければならず、マイナス記号、小数点、16進文字は不可です。外側の空白は除去し、任意の0b/0B接頭辞を剥がし、ビット間の空白・アンダースコア・ハイフンは無視するため、1010 10のような列もコンパクト形と同じに解析されます。
先頭の0は正規化され単独の0だけ残るため、ゼロ埋めされた複数のレジスタダンプは同じ正規2進と同一のBCD結果に収束します。変換は左から右のホーナー走査です。0から始め、各ビットで走行値をその2倍に新ビットを加えたものに置き換えます。
これは各ビットと2のべきの位取り和そのものです。中間の大きさは宣言されたビット・桁の上限内の安全な非負整数でなければならず、過大な列は丸めずに閉じて失敗します。得られた各10進桁は4ビット8421パターンとして出力され連結されます。
学習・ハード・ソフトにおける2進→BCD変換の位置づけ
学生は、ディジタル論理の授業でカウンタを7セグメントデコーダに接続するとき、計算機アーキテクチャの実験で2進レジスタ値が桁ごとの表示コードになる過程を問われるとき、試験で純2進・BCD・Gray符号化を対比するときに2進→BCDに出会います。
教員は、2進列と既詰BCDを混同したり不正な桁コードを受け入れたりする不透明な電卓アプリに頼らず、控えめなビット長の模範解答を事前生成できます。組込み・産業エンジニアは、上流がまだ純2進で考えつつ各10進桁をニブルで持つBCD表示ドライバ、多桁LEDモジュール、PLCパネル、プロトコル欄を確認します。
開発者はスクリプトから同じ契約を呼び、パーサ向け決定的テストベクタを用意し、表示をプログラムする前に利用者入力の2進列を検証し、手書きスケッチではなく詰8421を求める課題文に応えます。製品・教育ツールは、学習者が2進値を入力したときUIが10進の大きさ、コンパクトBCDビット列、スペース区切りニブル表示を即座に示す場面で変換を使います。
デジタルリテラシーとファームウェアデバッグ向けの無料・決定的な数値形式変換ラボを組むときは、純2進→10進や10進BCDツールと組み合わせてご利用ください。
活用例
7セグメント表示の実験
ディジタル論理の実験で多桁7セグメントドライバを配線する前に、2進カウンタやレジスタ値を8421 BCDニブルへ変換します。
ファームウェアとBCDパネルのダンプ
レジスタの純粋な2進量を、産業用表示・PLCパネル・BCDカウンタが使う桁ごとのBCDパターンにします。
決定的なテストフィクスチャ
単体テスト、性質検査、CIアサーション向けに再現可能な2進→BCDビット列と10進エコーを生成します。
よくある質問
10進BCD変換と何が違いますか?
本ツールは純粋な2進ビット列から始め、基数2の大きさを解釈し、各10進桁を8421 BCDとして詰めます。10進BCD変換はすでに持っている10進桁から始めます。
8421 BCDとは何ですか?
各10進桁0–9を重み8・4・2・1の4ビットニブルとして格納します。複数桁の数は7セグメント等のハード向けに桁順でニブルを連結します。
2進列に空白や0b接頭辞は使えますか?
はい。 外側の空白は除去し、任意の0b/0B接頭辞を剥がし、ビット間の空白・アンダースコア・ハイフンは無視します。
負数や小数は対応していますか?
いいえ。 対応するビット・桁の上限内の非負の整数2進量のみを受け付けます。
255が8つの1ではなく3組になるのはなぜですか?
BCDは10進数の1桁ごとに4ビットの組を使うからです。通常の2進数なら255は1が8つですが、BCDでは2、5、5の3組に分けるので、7セグメント表示の各桁を別々に駆動できます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/elec/binary-to-bcd \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"binary":"101010"}'const res = await fetch("https://api.kit.forhosting.com/elec/binary-to-bcd", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"binary": "101010"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/binary-to-bcd",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"binary": "101010"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/binary-to-bcd", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"binary":"101010"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"binary":"101010"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/binary-to-bcd", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"binary": "101010"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.binary_to_bcd",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_bits | 50 |
max_digits | 15 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
CIや教材ソフト、ハード試験ベンチで再現可能な2進→BCDフィクスチャが必要なときは、成功リクエストあたり $0.002 のAPIをご利用ください。
2進→BCDの意味と応答に含まれる内容
応答は正規化された2進文字列とbinary_bits長、10進整数とdecimal_string、区切りなしのコンパクトbcdビット列、ニブル間スペース付きbcd_spaced、nibbles配列、digits配列、nibble_count、bit_length、メソッドタグbinary_to_8421_bcd、符号化ラベル8421、短い公式の覚え書きを返します。空値、非2進文字、テキストに見せかけた負数、上限を超えるビット列はinvalid_inputで拒否されます。
binaryフィールドの読み方と結果の再現性
基数2の本体にはbinaryフィールドが推奨されますが、スプレッドシート、クエリ文字列、型付きフォームが同じ契約を再利用できるよう、別名bin、value、text、input、bits、n、numberも受け付けます。本ページの無料ブラウザ実行と有料APIを組み合わせれば、2進復号と8421表を自ら実装し直さずに、自動パイプライン内で同一の数学的結果を得られます。
学習・ハード・ソフトにおける2進→BCD変換の位置づけ
本ページでは処理はすべてブラウザ内で行われ、APIでは成功した照会ごとに $0.002 がかかり、検証失敗は課金されず、応答後に何も保存されません。無料の対話探索と同一結果の有料APIという分担はKITのティアAカタログの他項目と一致し、教室デモから自動パイプラインへ数学的結果を変えずに移れます。
技術的な質問
2進からBCDへの変換の料金はいくらですか?
本ページではブラウザ内で無料です。APIでは成功したリクエストが $0.002 で、無効な入力は課金されません。