ビット単位NAND計算器
8ビット幅で12 NAND 10を計算すると、途中のANDは8で、結果は247(2進で11110111、16進でf7)になります。1から53ビットの幅を選べば、固定幅のバスと同じように各段階を10進・2進・16進で確認できます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- A
- 12
- B
- 10
- 幅
- 8
- 結果
- 247
- マスク後のA
- 12
- マスク後のB
- 10
- ANDの結果
- 8
ビット単位のNANDは、2つの整数のANDを反転した演算であり、両入力ビットが1のときだけ0になる万能デジタル論理ゲートです。真理値表を確認する学生、バス上のマスク反転論理を点検する組み込み技術者、ファームウェアのビット演算を再構築するリバースエンジニアは、32ビットに黙って切り詰めるREPLを開かずに、8ビット幅で12 NAND 10が10進・2進・16進でいくらになるかを決定的に知る必要があります。本ビット単位NAND計算機は2つの安全な整数と1から53までのビット幅を受け取り、各オペランドを下位widthビットにマスクし、そのマスク下でのANDの補数として数学的NANDを適用し、ゼロ埋め2進と16進の符号なし結果に加え、各段階を監査できる中間ANDを返します。
ビット単位NANDの意味と幅が重要な理由
2ビットのNANDは両ビットが真のときだけ偽になります。0 NAND 0は1、0 NAND 1は1、1 NAND 0は1、1 NAND 1は0です。この真理値表はまさに反転ANDであり、複数ビットのNANDは2語のANDのビット単位補数です。
デジタル論理では単一のNANDゲートが万能で、任意のブール関数をNANDだけで構成できるため、教科書とシリコンライブラリはそれを原始演算として扱います。プログラミング言語には専用のNAND演算子がほとんどなく、aとbの否定として書きますが、言語のビット演算は固定の機械幅や符号拡張付き算術を使い、きれいな符号なしバスモデルから外れがちです。
そこで本計算機は1から53までの明示的な幅wを取り、w個の1のマスクを作り、各オペランドをその下位ビットにマスクし、マスク下でANDを計算してから反転して再マスクし、結果を常に符号なしのwビット値にします。この固定幅契約はHDLや回路図ツールがバスを考える仕方と一致し、有効なレーンだけが存在します。
ビット単位NAND計算機が本領を発揮する場面
デジタル設計やFPGAの実験では、学生に複数ビットのNANDバスを組ませ、NANDゲートの縦続がAND・OR・NOTを実現することを証明させます。選んだ幅で10進・2進・16進を返すライブ計算機があれば、列を手で全部描かずに宿題を確認できます。8ビットや16ビットで式を検証すれば、シリコンに載る前に1ビットずれのマスク誤りを捕まえられます。
計算機アーキテクチャの授業はSheffer strokeと関数完全性を導入し、同じ幅でa NAND bがaとbの否定に等しいことを示すと、学生が再計算できる数に理論が根づきます。
bitwise NAND calculator向けのコンテンツサイトは、同じ純粋モジュール上で有料自動化経路とバイト単位で一致する無料ブラウザ経路から利益を得、SEOデモとCIフィクスチャが揃います。
アンパッカーのビット操作を追跡するセキュリティ解説は、単なるANDではなく反転された連言を復元することがあり、32ビット符号拡張を黙って使わない決定的オラクルがあれば、言語移植の定番の落とし穴を避けられます。
オペランドを安全整数範囲に保ち、バスに合う幅を選び、期待値をテストに固定すれば、自前の完全なHDLシミュレータなしで実験・CI・エッジワーカー向けに再現可能な固定幅NAND値が得られます。
活用例
ゲート級・HDL宿題の照合
手描きの真理値表や学生のHDLテストベンチと、一致する2進列で4・8・16ビットの複数ビットNANDバス結果を照合します。
言語非依存ビット演算のCIフィクスチャ
32ビットのビット幅で言語ごとに食い違うケースでも単体テストが一致するよう、10進・2進・16進の期待NANDベクトルを生成します。
よくある質問
2整数のビット単位NANDはどう計算しますか?
安全な整数aとbに加えwidth(1–53)を送ってください。
NANDの真理値表は何ですか?
0 NAND 0 = 1、0 NAND 1 = 1、1 NAND 0 = 1、1 NAND 1 = 0です。結果の各ビットは両オペランドが1の箇所だけ0になり、それが反転ANDです。
なぜビット幅が必要ですか?
NANDはANDのNOTです。固定幅がないと整数の補数は2の補数で無限の1になります。幅wがバスを定義し、反転後は下位wビットだけが残ります。
NANDが万能ゲートと呼ばれるのはなぜですか?
どんな論理関数もNANDゲートだけで組み立てられるからです。つなぎ合わせるとNOT、AND、ORが作れるため、教科書や回路ライブラリでは基本部品として扱われています。
負の数はどう扱われますか?
安全な範囲の整数なら負の数も入力できます。使われるのは指定した幅の下位ビットだけで、2の補数をその幅の符号なしの値に切り詰めた場合と同じ結果になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/dev/bitwise-nand \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":12,"b":10,"width":8}'const res = await fetch("https://api.kit.forhosting.com/dev/bitwise-nand", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 12,
"b": 10,
"width": 8
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/bitwise-nand",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 12,
"b": 10,
"width": 8
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/bitwise-nand", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":12,"b":10,"width":8}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":12,"b":10,"width":8}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/bitwise-nand", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"a": 12,
"b": 10,
"width": 8
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.bitwise_nand",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
検証失敗は課金されず、成功した呼び出しごとに公開の基本料金$0.002が適用されます。
ビット単位NANDの意味と幅が重要な理由
2進フィールドは手描きの真理値表と列を揃えるようwまでゼロ埋めされ、16進はレジスタダンプとの素早い比較のため同じ符号なし大きさを示します。負数は安全な整数として受け付け、下位wビットだけが参加し、バス外に無限の先頭1を作るのではなく、幅wの符号なしフィールドへの2の補数切り詰めに対応します。
入力契約、応答の形、エラーの扱い
オペランドのaとb、ビット数のwidthです。widthは安全整数範囲に全1マスクが収まるよう1から53までの整数である必要があります。例:aが12、bが10、widthが8ならマスク値は12と10、ANDは8、NANDは247で、2進の00001100 AND 00001010が00001000、反転して8ビットにマスクすると11110111になります。POSTで必須の整数フィールド3つを持つJSON本体を送ってください。aとbはそれぞれJSON数、10進の数値文字列、または16進・2進・8進の0x・0b・0o接頭辞付きで渡せます。値はプラスマイナスNumber.MAX_SAFE_INTEGER内の有限な安全整数でなければならず、小数、Infinity、NaN、空文字列、欠落フィールドはフィールド名付きのinvalid_inputで失敗し、それらは課金されません。任意の別名としてx・left・firstはaへ、y・right・secondはbへ、bits・bit_width・nbits・wはwidthへ対応します。成功時はa・b・widthをエコーし、下位幅の切片としてa_maskedとb_masked、マスク済みANDとしてand_result、NAND値としてresultを返します。さらに0b接頭辞とwidthまでのゼロ埋め付きのa_binary・b_binary・result_binary、0x接頭辞のa_hex・b_hex・result_hex、12 NAND 10を8ビットで247にするような短い操作文字列、およびresultが幅にマスクしたaとbの否定であることを再述する式も付けます。
ビット単位NAND計算機が本領を発揮する場面
組み込みファームウェアは、ビットがクリアのときだけ周辺を有効にするといった反転マスク検査を、statusとmaskの否定として実装することが多く、それは該当フィールド上のNANDそのものです。実装は純粋なparseティアAのため、成功した呼び出しはモデルトークンも外向き通信もなく公開の基本料金$0.002です。
連携の活用例
ファームウェアの反転マスク論理
クリア時有効のレジスタパターンについてstatusとmaskの否定を確認し、ドライバメモに固定幅フィールド配置を記録します。
技術的な質問
負のオペランドはどう扱われますか?
負数は有効な安全整数です。widthの下位ビット(符号なしwビットフィールドへの2の補数切り詰め)だけがANDとNANDに参加します。
ビット単位NAND計算機の料金は?
ブラウザツールは無料です。API要求は成功した呼び出しごとに前払いKIT残高から$0.002で、無効入力は課金されません。