目次
XOR ロジック
2 つの数値 a と b が与えられた場合、それらのバイナリ表現の長さを等しくした後、排他的論理和を求めます。
a = 10、b = 5
疑似コード
この記事では、2 つの数値のバイナリ表現の長さを等しくした後、その数値の XOR を計算する問題について説明しました。
XOR の概念について説明し、次に例と方法について説明しました。この方法では、末尾のゼロを使用してバイナリ表現のビット数を均等化します。この問題の疑似コードと C プログラムも確認しました。
ホームページ バックエンド開発 C++ 2 つの数値のバイナリ表現の長さが等しくなるように調整し、XOR 演算を実行します。

2 つの数値のバイナリ表現の長さが等しくなるように調整し、XOR 演算を実行します。

Sep 10, 2023 pm 04:01 PM
バイナリ 長さ XOR

2 つの数値のバイナリ表現の長さが等しくなるように調整し、XOR 演算を実行します。

XOR (排他的 OR) は、エラー チェックやフォールト トレランスなどのためにパリティ ビットを生成するために使用されるブール論理演算です。この操作を表すには、^、⊕、⊻ などのさまざまな記号が使用されます。

XOR ロジック

XOR 演算は、2 つのパラメータが異なる場合にのみ true になります。つまり、同じビットの XOR は 0 で、異なるビットの XOR は 1 になります。

同じビット -

0^0=0

1^1=0

異なるビット −

0^1=1

1 ^ 0 = 1

###問題文###

2 つの数値 a と b が与えられた場合、それらのバイナリ表現の長さを等しくした後、排他的論理和を求めます。

ヒント

-小さい数値の後に末尾のゼロを追加すると、バイナリ表現は等しくなります。 ###例### 入力 -

a = 10、b = 5

###出力-###

0

イラスト

10 の 2 進表現は 1010、5 の 2 進表現は 101 です。

末尾のゼロを 5 に追加すると、1010 になります。 したがって、1010^1010 の XOR 結果は 0 になります。

したがって、出力します。

######入力 ### - ###

a = 15、b = 8

出力

###7###

イラスト -

15 の 2 進表現は 1111、8 の 2 進表現は 1000 です。

2 つのバイナリ表現は長さが等しいため、末尾にゼロを追加する必要はありません。 1111 ^ 1000 の XOR 結果は 0111 で、これは 10 進表記の 7 です。したがって、出力は 7 になります。

######入力 ### - ###

a = 15、b = 3

出力

###7###

イラスト

-

15 の 2 進表現は 1111 です。3 の 2 進表現は 11 です。3 の 2 進表現は、末尾にゼロを付けると 1100 になります。

1111^1100 の XOR 結果は 0011 です。 0011 は 10 進数で表すと 3 です。したがって、結果が出力されます。

###方法###

2 つの数値の桁数を計算します。

数字を0になるまで右にシフトし、ループの実行回数をカウントすることで桁数を計算できます。数値を右に 1 桁シフトすることは、2 で割ることと同じです。

小さい数値の桁数が少ない場合は、small_number

2 つの数値を XOR して答えを取得し、出力します。

疑似コード

リーリー ###例###
    次は、2 つの数値のバイナリ表現の長さを等しくした後、XOR 値を計算する C プログラムです。
  • リーリー ###出力### リーリー

    分析

  • 時間計算量

    - O(log n) [対数]

  • count 関数の while ループにより、時間計算量は対数になります。
  • この数値はゼロになるまで 2 で除算されるため、計算量は log n 底 2 になります。

  • 空間複雑度

    - O(1) [定数]

  • プログラム内で余分なスペースが使用されないため、スペースの複雑さは一定です。
###結論は###

この記事では、2 つの数値のバイナリ表現の長さを等しくした後、その数値の XOR を計算する問題について説明しました。

XOR の概念について説明し、次に例と方法について説明しました。この方法では、末尾のゼロを使用してバイナリ表現のビット数を均等化します。この問題の疑似コードと C プログラムも確認しました。

以上が2 つの数値のバイナリ表現の長さが等しくなるように調整し、XOR 演算を実行します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

二進数の計算方法 二進数の計算方法 Jan 19, 2024 pm 04:38 PM

2 進数演算は 2 進数に基づいた演算方法であり、その基本演算には加算、減算、乗算、除算が含まれます。 2 進算術には、基本的な演算に加えて、論理演算、変位演算、その他の演算も含まれます。論理演算には AND、OR、NOT などの演算が含まれ、変位演算には左シフト演算と右シフト演算が含まれます。これらの操作には、対応するルールとオペランド要件があります。

C言語を使用して2進数を16進数に変換するにはどうすればよいですか? C言語を使用して2進数を16進数に変換するにはどうすればよいですか? Sep 01, 2023 pm 06:57 PM

2 進数は 1 と 0 で表されます。 16 ビットの 16 進数体系は、2 進表現から 16 進表現に変換するために、{0,1,2,3…..9,A(10),B(11),…F(15)} となります。文字列 ID は、最下位側から始まるニブルと呼ばれる 4 ビットのチャンクにグループ化されます。各ブロックは、対応する 16 進数に置き換えられます。 16 進数と 2 進数の表現を明確に理解するために例を見てみましょう。 001111100101101100011101 3 E 5 B&N

EDVAC の 2 つの主な改良点は何ですか? EDVAC の 2 つの主な改良点は何ですか? Mar 02, 2023 pm 02:58 PM

EDVAC には 2 つの大きな改良点があります。1 つはバイナリの使用、もう 1 つは保存されたプログラムの完成です。これは、あるプログラム命令から次のプログラム命令に自動的に進み、その操作は命令を通じて自動的に完了できます。 「命令」にはデータやプログラムが含まれており、それらはコードの形で機械の記憶装置に入力されます、つまり、データを格納する同じ記憶装置を使用して、演算を実行するための命令を格納するという新しい概念です。 - 保存されたプログラムと呼ばれます。

Golang でバイナリ ファイルを読み取るにはどうすればよいですか? Golang でバイナリ ファイルを読み取るにはどうすればよいですか? Mar 21, 2024 am 08:27 AM

Golang でバイナリ ファイルを読み取るにはどうすればよいですか?バイナリ ファイルは、コンピュータが認識して処理できるデータを含む、バイナリ形式で保存されたファイルです。 Golang では、いくつかのメソッドを使用してバイナリ ファイルを読み取り、必要なデータ形式に解析できます。 Golangでバイナリファイルを読み込む方法と具体的なコード例を紹介します。まず、OS パッケージの Open 関数を使用してバイナリ ファイルを開く必要があります。これにより、ファイル オブジェクトが返されます。それから私たちは作ることができます

コンピューター内でバイナリを使用する主な理由は何ですか? コンピューター内でバイナリを使用する主な理由は何ですか? Apr 04, 2019 pm 02:25 PM

コンピュータが 2 進法を使用する主な理由: 1. コンピュータは論理回路で構成されています。論理回路には通常、スイッチのオンとオフの 2 つの状態しかなく、これら 2 つの状態は「1」と「0」で表すことができます。 . 2 進法では 0 と 1 の 2 つの数値のみが使用されるため、送信時や処理時にエラーが発生しにくく、コンピュータの信頼性が高くなります。

Go 言語で 16 進数を 2 進数に変換する方法を簡単に学習します Go 言語で 16 進数を 2 進数に変換する方法を簡単に学習します Mar 15, 2024 pm 04:45 PM

タイトル: Go 言語で 16 進数を 2 進数に変換する方法を簡単に学習します。特定のコード例が必要です。コンピューター プログラミングでは、異なる基数間の変換操作がよく使用されます。その中でも、16 進数と 2 進数間の変換は比較的一般的です。 Go 言語では、いくつかの簡単なコード例を通じて 16 進数から 2 進数への変換を実現できます。一緒に学びましょう。まずは16進数と2進数の表現方法を見てみましょう。 16 進数は数値を表す方法で、0 ~ 9 と A ~ F を使用して 1 を表します。

PHP 配列の長さの制限は何ですか? PHP 配列の長さの制限は何ですか? Mar 13, 2024 pm 06:30 PM

PHP では配列の長さに固定された制限はなく、システムのメモリ サイズに応じて動的に調整できます。 PHP では、配列は任意の数の要素を格納できる非常に柔軟なデータ構造であり、各要素は任意の型の値、または別の配列にすることもできます。 PHP 配列の長さの制限は、主にシステムのメモリ サイズと PHP 構成のメモリ制限によって決まります。一般に、システムのメモリが十分に大きく、PHP のメモリ制限が十分に高い場合、配列の長さは非常に大きくなる可能性があります。ただし、システムのメモリが不足している場合や、

2進数で負の数を表現する方法 2進数で負の数を表現する方法 Nov 23, 2023 pm 04:11 PM

コンピューターでは負の数は 2 の補数を使用して表現されます。つまり、負の数は正の数の 2 の補数によって表現されます。

See all articles