BCD変換
42は8421 BCDで0100 0010です。純粋な2進数と違い、10進数の各桁がそれぞれ4ビットの組になります。時計や表示器、論理回路の実習向けに変換と逆変換ができます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 変換する値
- 42
- 変換方向
- To bcd
- 10進数
- 42
- 10進数文字列
- 42
- BCD
- 01000010
- BCD(スペース区切り)
- 0100 0010
このBCD変換ツールは、非負の10進整数を詰め込まれた8421 2進化10進数のビット文字列にマッピングし、有効なBCDニブルを10進数に戻してデコードします。2進化10進数(BCD)は、各10進数字が8・4・2・1という桁の重みを持つ独自の4ビットグループを占める古典的なデジタルエンコーディングです。そのため9は1001に、5は0101に、42は0100に続いて0010になります。純粋な2進数とは異なり、BCDは10進数字の境界を保つため、リアルタイムクロック、産業用ディスプレイ、電卓、教育用実習に今も登場します。エンジンは完全に決定的です。正確なニブルパターンを構築するか、1010から1111までのような不正なコードを拒否するかのいずれかであり、ネットワークを呼び出すことも、乱数をサンプリングすることも、時計に依存することもありません。
8421 BCDの意味と結果の見方
ここで使われる自然な8421形式の2進化10進数は、0から9までのすべての10進数字に、左から右へビットの重みが8・4・2・1である4ビットのパターンを割り当てます。数字0は0000、1は0001、5は0101、9は1001です。複数桁の数値は、10進数字と同じ順序でそれらのニブルを単純に連結します。
255は2・5・5に対する3つのニブルになります。これは値全体を純粋な2進数に変換するのとは異なります。純粋な2進数は255を8個の1として符号化しますが、BCDは3つの別々の桁のグループを保つため、人間と10進ハードウェアの両方が各桁を独立して読めます。
近似的な経路も、不正なパターンを近くの数字にサイレントに強制することもありません。空の値、負の数、分数、BCD文字列の中の2進数以外の文字、4の倍数でないビット長も拒否されます。純粋な2進数、16進数、符号付き絶対値表現が必要な場合は専用の変換ツールをご利用ください。
valueとdirectionの読み取り方法と結果を再現可能に保つ仕組み
綴りは大文字小文字を区別せず、ハイフンはアンダースコアの代わりに使えます。マイナス記号、小数点、指数表記は使えず、先頭のゼロを取り除いた後15桁を超えることもできません。
外側の空白はトリムされ、任意の0bプレフィックスは取り除かれ、ビットまたはニブルの間のスペース、アンダースコア、ハイフンは無視されるため、0100 0010のような文字列もコンパクトな形式と同じように解析されます。各ニブルは8421の重みでデコードされ、0から9の範囲に収まらなければなりません。
1010のようなニブルは、位置とともに不正なBCDニブルとして報告されるため、学生やエンジニアはダンプの中の不正なコードを見つけられます。エンコードは各10進数字をたどってその4ビットパターンを出力します。デコードは復元された数字を結合し、単一のゼロを保ちつつ先頭のゼロを取り除きます。
BCD変換が学習・ハードウェア・ソフトウェアで役立つ場面
学生が2進化10進数に出会うのは、デジタル論理のコースが7セグメントディスプレイを紹介するとき、コンピュータアーキテクチャの実習がレジスタのダンプを人間が読める10進数にマッピングするとき、あるいは試験が4ビットのパターンが有効なBCD数字かどうかを尋ねるときです。
教師は、9を超えるコードをサイレントに受け入れたり純粋な2進数とBCDを混同したりする不透明な電卓アプリを信頼することなく、手頃な桁数について模範解答をあらかじめ生成できます。
開発者は同じ契約をスクリプトから呼び出し、パーサー用の決定的なテストベクターの種を作ったり、設定UIでユーザーが入力したBCD文字列を検証したり、あいまいなスケッチではなく詰め込まれた8421を要求するプログラミング課題の条件を満たしたりします。
プロダクトや教育向けのツールは、学習者が10進値を入力し、UIがコンパクトなビット文字列とスペースで区切られたニブルビューの両方を即座に表示しなければならないときにこの変換を使います。このページでの計算はすべてブラウザ内で完結します。
デジタルリテラシーとファームウェアのデバッグ向けに無料で決定的な数値形式ツールの小さなラボを構築する際は、2進数→10進数や16進数の変換ツールと組み合わせてご利用ください。
活用例
宿題とデジタル論理の演習
教科書の10進数を8421ニブルにエンコードし、実習の答えを提出する前にどの4ビットパターンが有効なBCDかを検証します。
決定的なテストフィクスチャ
ユニットテスト、プロパティチェック、CIアサーション向けに再現可能なBCDビット文字列と10進数のエコーを生成できます。
よくある質問
8421 BCDとは何ですか?
各10進数字0〜9は、ビットの重み8・4・2・1を持つ4ビットのニブルとして保存されます。複数桁の数値は、それらのニブルを桁の順序で連結します。
このツールで純粋な2進数を変換できますか?
いいえ。 このツールは10進数字を8421 BCDニブルに、また逆に変換するだけです。純粋な2進の桁の値には2進数→10進数の変換ツールをご利用ください。
42はBCDでどう書きますか?
0100 0010です。10進数の各桁がそれぞれ4ビットの組になり、4は0100、2は0010となって、桁と同じ順に並びます。
4ビットの組の一部が受け付けられないのはなぜですか?
BCDの1組には0から9までの10進数1桁しか入らないからです。それより大きい値になる組はどの桁も表さないため、近い数に置き換えずに受け付けません。
ビット数が4の倍数でないといけないのはなぜですか?
10進数の1桁がちょうど4ビットを使うからです。8ビットなら2桁で、42は0100 0010になります。4で割り切れない長さは桁に分けられないため受け付けません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/fmt/bcd \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"42","direction":"to_bcd"}'const res = await fetch("https://api.kit.forhosting.com/fmt/bcd", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "42",
"direction": "to_bcd"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fmt/bcd",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "42",
"direction": "to_bcd"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fmt/bcd", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"42","direction":"to_bcd"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"42","direction":"to_bcd"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fmt/bcd", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"value": "42",
"direction": "to_bcd"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fmt.bcd",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_digits | 15 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
宿題、ファームウェアのダンプ、面接の演習にはブラウザで無料にご利用いただき、CI、指導用ソフトウェア、ハードウェアのテストベンチで再現可能なBCDフィクスチャが必要な場合は、成功したリクエストごとに$0.002のAPIをご利用ください。
8421 BCDの意味とレスポンスの内容
direction to_bcdを選ぶと、この計算ツールは正規化された10進整数とdecimal_string、区切りのないコンパクトなbcdビット文字列、ニブルの間にスペースを入れたbcd_spaced文字列、nibbles配列、digits配列、nibble_count、bit_length、8421_bcdというメソッドタグ、8421というエンコーディングラベル、短い式の説明を返します。direction from_bcdを選ぶと、デコード後に同じ形状が返され、directionはfrom_bcdに設定されます。整数値が10以上のニブルは、それらのコードが有効な8421の10進数字ではないためinvalid_inputで拒否されます。このページは、ワークシート、ユニットテスト、API利用者向けの安定した出力とともに、符号なしの8421詰め込みBCDのみに答えます。
valueとdirectionの読み取り方法と結果を再現可能に保つ仕組み
優先されるフィールドはペイロードを表すvalueと変換方向を表すdirectionですが、ペイロードにはinput、text、n、number、bits、bcd、decimal、方向にはdir、mode、convertといった別名も受け付けるため、スプレッドシート、クエリ文字列、型付きフォームは同じ契約を再利用できます。directionは、エンコードにはto_bcdとdecimal_to_bcd、デコードにはfrom_bcdとbcd_to_decimalを受け付けます。to_bcdの場合、valueは数字文字列または有限の整数として与えられた非負の整数でなければなりません。from_bcdの場合、valueは長さが4の正の倍数である0と1のビット文字列でなければなりません。自動化されたパイプライン内で8421テーブルを自前で再実装することなく同一の数学的結果が必要な場合は、このページの無料ブラウザ実行と有料APIを組み合わせてご利用ください。
BCD変換が学習・ハードウェア・ソフトウェアで役立つ場面
組み込みおよび産業用のエンジニアは、各10進位をニブルとして今も保存するRTCチップ、BCDカウンター、PLCディスプレイ、プロトコルフィールドを確認します。API経由では成功した検索1件につき$0.002がかかり、検証に失敗したリクエストは課金されず、レスポンスが返された後は何も保存されません。この無料のインタラクティブな探索と、同一結果を返す有料APIという分割は、KITのtier-Aカタログの他のツールと同様であり、教室でのデモから自動化パイプラインへ、数学的な結果を変えることなく移行できます。
連携の活用例
ファームウェアとRTCのダンプ
リアルタイムクロック、カウンター、ディスプレイドライバから詰め込まれたBCDフィールドを、デバッグ用の明確な10進値にデコードします。
技術的な質問
BCD変換ツールの料金はいくらですか?
このページのブラウザ版は無料です。API経由では成功したリクエストごとに$0.002がかかり、無効な入力には課金されません。
不正なBCDニブルの場合はどうなりますか?
値が10〜15(パターン1010〜1111)のニブルはinvalid_inputで拒否されます。0000〜1001のみが有効な8421の数字です。
負の数や分数に対応していますか?
いいえ。to_bcdには15桁までの非負の整数のみ、from_bcdには詰め込まれたビット文字列のみが受け付けられます。