N進数の論理演算|uint64のAND・OR・XOR

N進数の論理演算|uint64のAND・OR・XOR

2つの2〜36進uint64整数からAND・OR・XORをBigIntで厳密計算し、2・8・10・16進の表で比較します。

入力

ASCII英数字だけで1〜64文字。符号、0x接頭辞、小数点、指数、区切り、内部空白は使用できません。

入力文字列を解釈する基数を2〜36から選びます。英字は大文字小文字を区別しません。

ASCII英数字だけで1〜64文字。符号、0x接頭辞、小数点、指数、区切り、内部空白は使用できません。

入力文字列を解釈する基数を2〜36から選びます。英字は大文字小文字を区別しません。

使い方

  1. XとYの非負整数文字列を入力し、それぞれを読む基数を2〜36から選びます。
  2. 計算後、AND、OR、XORの行と10・16・8・2進の列を交差して結果を確認します。
  3. マスク用途では対象仕様のビット幅と予約ビットを確認し、TSVと元入力を一緒に保存します。

計算式・考え方

XとYを各入力基数からuint64へ厳密復元し、各ビットについてAND=X∧Y、OR=X∨Y、XOR=X⊕YをBigIntで計算します。結果を10・16・8・2進の文字列へ変換します。

注意事項

  • 論理演算ではXとYをそれぞれ独立した基数で読み、六十四ビット以内の非負整数としてAND、OR、XORを求めます。ANDは両方が1の桁、ORはいずれかが1の桁、XORは片方だけが1の桁を1にします。NOTやシフト、加減算はこのページの対象外です。
  • 既定値X=F0を十六進、Y=10101010を二進として読むと、ANDは十進160・十六進A0、ORは250・FA、XORは90・5Aです。結果表では各演算を十・十六・八・二進で横に並べ、同じ値を別表記で検算できます。
  • 演算結果は入力の表示桁数ではなく整数値に対して求めます。F0と00F0は同じXです。上位に省略された桁は0と考えますが、常に六十四桁へゼロ埋めして表示するわけではありません。固定幅マスクの資料と比較するときは、必要な幅まで左側を0で補ってください。
  • XORは暗号化そのものではありません。同じ鍵とのXORで戻せる性質はありますが、鍵管理、乱数性、認証、改ざん検出を備えず、単純反復や既知平文に弱い使い方があります。本結果を秘密情報の保護へ直接用いず、暗号用途では標準化された認証付き暗号を選びます。
  • 全ビット1の上限値と0では、AND=0、OR=上限、XOR=上限です。上限値同士ではANDとORが上限、XORが0になります。これらの境界をPython整数とJavaScript BigIntで照合し、32ビット目より上が消えていないことを十六進十六桁と二進六十四桁で確認します。
  • 権限フラグや機器設定へ使うときは、各ビットの意味と予約領域を対象仕様で確認してください。ORで1を立てる、ANDで0へ落とす、XORで反転するという機械的結果が正しくても、その変更が許可されるとは限りません。本ページは外部機器へ送信せず、計算表だけを返します。
  • 位取り記数法では、右端を零桁として各桁の値に基数の累乗を掛け、その和で一つの非負整数を表します。本ページ群は基数二から三十六までを扱い、数字0〜9に続いて英字A〜Zを十から三十五の桁として使います。大文字と小文字は同じ桁ですが、結果は比較しやすい大文字へ統一します。
  • 値域は0から2の64乗−1、十進表記では18446744073709551615までです。入力文字列をJavaScriptのNumberへ変換せず、一文字ずつ桁値へ直し、現在値×基数+桁値を積み上げます。各段で残り上限を割った条件を検査し、最後だけでなく途中の桁あふれも直ちに拒否します。
  • 入力は先頭末尾の空白だけを除き、ASCII英数字一文字以上六十四文字以下に限定します。プラス・マイナス符号、小数点、指数表記、0xや0bの接頭辞、桁区切り、全角英数字、内部空白は受け付けません。便利な自動補正を行わないことで、どの文字列をどの基数として読んだかを一意にします。
  • 選択した基数以上の桁は不正です。例えば二進数の2、八進数の8、十六進数のGは数値へ推測変換しません。先頭の0は値を変えませんが、入力の幅を保持する機能ではなく、結果では不要な先頭0を除いた最短表記になります。固定幅のビット列が必要な場合は用途に応じて表示後に左側を0で埋めてください。
  • ECMAScript 2026のTC39仕様で定義されるBigIntの基数文字列化とビット単位AND・OR・XORを2026年7月13日に照合しました。ブラウザー側はBigInt、検証用Python側は任意精度整数を使い、同じuint64上限と同じ桁順で結果を比較します。Numberのビット演算が行う32ビット縮約は使用しません。
  • 全行の計算はページを開いている端末内だけで実行します。入力文字列をファイルとしてアップロードせず、外部API、CDN、変換サーバー、解析サービスへ送りません。処理量は最大六十四桁と固定行数へ制限され、サーバー側CPUや保存領域へ変換負荷を移さない構成です。
  • 結果は数値ではなく文字列セルとして保持します。十進で安全整数を超える値や六十四桁の二進列も、binary64の丸めを通らずそのまま表示できます。DOMへはinnerHTMLで挿入せずtextContentを使い、列見出し、行見出し、caption、キーボードで到達できるスクロール領域を設けます。
  • コピー結果は見出し付きTSVです。文字セルがイコール、プラス、マイナス、アットマークで始まる場合は先頭へ単一引用符を付け、表計算ソフトの式として実行される危険を減らします。今回の計算結果は通常その記号で始まりませんが、共通描画契約を外さず、貼り付け先でも自動実行設定を確認します。
  • この整数契約には小数、循環小数、負数、符号付き二の補数、浮動小数のビット表現を含めません。例えば−1を六十四ビットすべて1として扱う操作は、符号なし整数の入力−1とは別の規則です。必要な幅、符号規則、丸め規則を決めずに同じ画面へ混ぜると意味が曖昧になるため、別ツールとして設計します。
  • 値0はどの基数でも空欄ではなく文字0です。上限値は二進で64個の1、十六進でFFFFFFFFFFFFFFFFになります。この二点を境界検査に含め、正常な小値だけで実装を判断しません。入力基数、元文字列、結果表を一緒に保存すれば、後から同じ条件を再現できます。
  • 画面上の英字は桁値であり、単語や文字コードを自動解釈しません。BASE36でHELLOのような文字列を入力すると一つの整数になりますが、文章の暗号化、ハッシュ、文字コード変換ではありません。機密情報の秘匿性や改ざん検出を提供しないため、パスワードや秘密鍵を貼り付けないでください。
  • 長い結果は狭い画面で表だけを横スクロールさせ、既存テーマの本文幅を押し広げません。二進列の途中で視覚的な改行や空白を挿入しないため、コピー値は連続した桁列です。読み合わせでは先頭、末尾、桁数、十六進表記を組み合わせ、一部分だけの見た目で一致と判断しないでください。
  • このページは厳密な符号なし整数演算を行いますが、入力値の業務上の意味、ビット配置、プロトコル仕様、アクセス権限を保証しません。ネットワークパケット、権限マスク、機器レジスターへ適用する場合は、対象資料のビット幅、予約ビット、エンディアン、送信順を別に確認し、結果を直接書き込む前に安全な検証環境で照合します。
  • 汎用の検算です。対象システムの正式仕様、ビット幅、時刻尺度、オフセット、丸め規則を独立に確認してください。

よくある質問

入力した値はサーバーへ送信されますか?

送信しません。入力検査、計算、結果描画、コピー文字列の生成は、開いているブラウザー内だけで完結します。共有端末、画面共有、クリップボード履歴には注意してください。

入力範囲を超えた値は自動で丸めますか?

丸めません。上限超過、基数外桁、存在しない日付、範囲外オフセットなどは結果を推測せず、該当入力へエラーを表示します。

結果を重要なシステムへそのまま使えますか?

検算用です。対象システムのビット幅、時刻尺度、オフセット、丸め、制度条件を公式仕様で確認し、代表値と境界値を独立した方法でも照合してください。

N進整数の解析、uint64検査、基数変換、論理演算、表とTSVの生成はclient-onlyで行い、外部API、アップロード、サーバー保存を使用しません。