


Laraskan panjang perwakilan binari dua nombor menjadi sama dan kemudian lakukan operasi XOR
XOR, atau eksklusif OR, ialah operasi logik Boolean yang digunakan untuk menjana bit pariti untuk semakan ralat, toleransi kesalahan, dsb. Pelbagai simbol digunakan untuk mewakili operasi ini: ^, ⊕, ⊻, dsb.
Logik XOR
Operasi XOR adalah benar hanya jika kedua-dua parameter berbeza. Dengan kata lain, XOR bagi bit yang sama ialah 0, dan XOR bagi bit yang berbeza ialah 1.
Bit yang sama -
0^0=0
1^1=0
Bit yang berbeza −
0^1=1
1^0 = 1
Pernyataan Masalah
Diberi dua nombor a dan b, cari XORnya selepas membuat panjang perwakilan binarinya sama.
Petua − Dengan menambah sifar mengekor selepas nombor yang lebih kecil, perwakilan binari akan menjadi sama.
Contoh
Masuk -
a = 10, b = 5
Output-
0
Arahan
Perwakilan binari 10 ialah 1010 dan perwakilan binari 5 ialah 101.
Tambah sifar di belakang kepada 5 untuk mendapatkan 1010.
Oleh itu, keputusan XOR bagi 1010^1010 ialah 0.
Oleh itu, output.
Masuk -
a = 15, b = 8
Output −
7
Arahan -
Perwakilan binari 15 ialah 1111 dan perwakilan binari 8 ialah 1000.
Memandangkan kedua-dua perwakilan binari adalah sama panjang, tidak perlu menambah sifar mengekor.
Hasil XOR bagi1111 ^ 1000 ialah 0111, iaitu 7 dalam tatatanda perpuluhan. Oleh itu, keluarannya ialah 7.
Masuk -
a = 15, b = 3
Output −
7
Arahan -
Perwakilan perduaan bagi 15 ialah 1111. Perwakilan perduaan bagi 3 ialah 11. Perwakilan perduaan bagi 3, dengan sifar mengekor, menjadi 1100.
Hasil XOR bagi 1111^1100 ialah 0011.
0011 ialah 3 dalam perwakilan perpuluhan. Oleh itu, hasilnya adalah output.
Kaedah
Kira bilangan digit dalam dua nombor.
Bilangan digit boleh dikira dengan mengalihkan nombor ke kanan sehingga menjadi sifar, dan mengira bilangan kali gelung dilaksanakan. Mengalihkan nombor ke kanan sebanyak 1 tempat adalah bersamaan dengan membahagikannya dengan 2.
Jika nombor yang lebih kecil mempunyai lebih sedikit digit, lakukan anjakan kiri seperti berikut: smaller_number
XOR dua nombor untuk mendapatkan jawapan dan mencetaknya.
pseudokod
main() Initialize a -> 15 and b -> 3. Function call find_xor(a,b); find_xor(int a, int b): c -> minimum of a and b. d -> maximum of a and b. count_c -> bit_count(c) count_d ->bit_count(d) If count_c < cound_d, then: c -> c << (count_d - count_c) Return c XOR d. bit_count(int x): count -> 0 while(x != 0): Increase the count by one. Right shift x by 1, i.e., divide it by 2. Return x.
Contoh
Di bawah ialah program C++ untuk mengira nilai XOR dua nombor selepas membuat perwakilan binarinya sama panjang.
#include <bits/stdc++.h> using namespace std; // Function to count the number of bits in binary representation // of an integer int bit_count(int x){ //Initialize count as zero int count = 0; //Count the bits till x becomes zero. while (x) { //Incrementing the count count++; // right shift x by 1 // i.e, divide by 2 x = x>>1; } return count; } //Function to find the XOR of two numbers. Trailing zeros are added to the number having a lesser number of bits to make the bits in both numbers equal. int find_xor(int a, int b){ //Store the minimum and maximum of both the numbers int c = min(a,b); int d = max(a,b); //Store the number of bits in both numbers. int count_c = bit_count(c); int count_d = bit_count(d); //If the number of bits in c is less, left shift if by the number of exceeding bits. if (count_c < count_d){ c = c << ( count_d - count_c); } return (c^d); } //Driver code int main(){ //Initialize a and b. int a = 15, b = 3; cout << "a = 15, b = 3" << endl; //Store the XOR of both the numbers after required computations //Function call int ans = find_xor(a,b); //Print the final result cout << "XOR of a and b: "<<ans<<endl; return 0; }
Output
a = 15, b = 3 XOR of a and b: 3
Analisis
Kerumitan masa - O(log n) [logaritma]
Disebabkan gelung while dalam fungsi kiraan, kerumitan masa adalah logaritma.
Oleh kerana nombor ini dibahagikan dengan dua sehingga menjadi sifar, kerumitan menjadi log n asas 2.
Kerumitan Angkasa - O(1) [Malar]
Kerumitan ruang adalah malar kerana tiada ruang tambahan digunakan dalam program.
Kesimpulan
Dalam artikel ini, kami membincangkan masalah pengiraan XOR dua nombor selepas membuat perwakilan binarinya sama panjang.
Kami membincangkan konsep XOR dan kemudian menerangkan contoh dan kaedah. Kaedah ini menggunakan sifar mengekor untuk menyamakan bilangan bit dalam perwakilan binari. Kami juga melihat pseudokod dan program C++ untuk masalah itu.
Atas ialah kandungan terperinci Laraskan panjang perwakilan binari dua nombor menjadi sama dan kemudian lakukan operasi XOR. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Aritmetik binari ialah kaedah operasi berdasarkan nombor binari Operasi asasnya termasuk penambahan, penolakan, pendaraban dan pembahagian. Selain operasi asas, aritmetik binari juga termasuk operasi logik, operasi anjakan dan operasi lain. Operasi logik termasuk DAN, ATAU, NOT dan operasi lain, dan operasi anjakan termasuk operasi anjakan kiri dan anjakan kanan. Operasi ini mempunyai peraturan dan keperluan operan yang sepadan.

Nombor binari diwakili oleh 1s dan 0s. Sistem nombor perenambelasan 16-bit ialah {0,1,2,3…..9,A(10),B(11),…F(15)} untuk menukar daripada perwakilan binari kepada perenambelasan Mewakili bahawa bit ID rentetan dikumpulkan ke dalam ketulan 4-bit, dipanggil nibbles bermula dari bahagian yang paling tidak ketara. Setiap blok digantikan dengan nombor heksadesimal yang sepadan. Mari kita lihat contoh untuk mendapatkan pemahaman yang jelas tentang perwakilan nombor heksadesimal dan perduaan. 001111100101101100011101 3 E 5 B&nb

EDVAC mempunyai dua penambahbaikan utama: satu ialah penggunaan binari, dan satu lagi ialah penyiapan program yang disimpan, yang secara automatik boleh maju dari satu arahan program ke seterusnya, dan operasinya boleh diselesaikan secara automatik melalui arahan. "Arahan" termasuk data dan program, yang dimasukkan ke dalam peranti memori mesin dalam bentuk kod Iaitu, peranti memori yang sama yang menyimpan data digunakan untuk menyimpan arahan untuk melaksanakan operasi -dipanggil atur cara tersimpan.

Bagaimana untuk membaca fail binari di Golang? Fail binari ialah fail yang disimpan dalam bentuk binari yang mengandungi data yang boleh dikenali dan diproses oleh komputer. Di Golang, kita boleh menggunakan beberapa kaedah untuk membaca fail binari dan menghuraikannya ke dalam format data yang kita inginkan. Berikut akan memperkenalkan cara membaca fail binari di Golang dan memberikan contoh kod tertentu. Pertama, kita perlu membuka fail binari menggunakan fungsi Buka dari pakej os, yang akan mengembalikan objek fail. Kemudian kita boleh buat

计算机采用二进制的主要原因:1、计算机是由逻辑电路组成,逻辑电路通常只有两个状态,开关的接通与断开,这两种状态正好可以用“1”和“0”表示;2、二进制中只使用0和1两个数字,传输和处理时不易出错,因而可以保障计算机具有很高的可靠性。

Tajuk: Belajar menukar heksadesimal kepada perduaan dalam bahasa Go Contoh kod khusus diperlukan Dalam pengaturcaraan komputer, operasi penukaran antara nombor asas yang berbeza sering terlibat. Antaranya, penukaran antara heksadesimal dan binari adalah agak biasa. Dalam bahasa Go, kita boleh mencapai penukaran heksadesimal kepada binari melalui beberapa contoh kod mudah Mari kita belajar bersama. Mula-mula, mari kita lihat kaedah perwakilan heksadesimal dan perduaan. Heksadesimal ialah kaedah mewakili nombor, menggunakan 0-9 dan A-F untuk mewakili 1

Tiada had tetap untuk panjang tatasusunan dalam PHP, ia boleh dilaraskan secara dinamik mengikut saiz memori sistem. Dalam PHP, tatasusunan ialah struktur data yang sangat fleksibel yang boleh menyimpan sebarang bilangan elemen, dan setiap elemen boleh menjadi nilai apa-apa jenis, atau tatasusunan lain. Had panjang tatasusunan PHP terutamanya bergantung pada saiz memori sistem dan had memori konfigurasi PHP. Secara umumnya, jika memori sistem cukup besar dan had ingatan PHP cukup tinggi, panjang tatasusunan boleh menjadi sangat besar. Walau bagaimanapun, jika sistem anda kekurangan memori atau

Nombor negatif diwakili dalam komputer menggunakan pelengkap dua, iaitu nombor negatif diwakili oleh pelengkap dua nombor positif.
