Isi kandungan:
Video: Quantum Computers Explained – Limits of Human Technology 2024
Pengecas pengaturcam C menyediakan manipulasi data di peringkat perduaan. Pengendali mudah diabaikan, tetapi hanya apabila kuasa dan kegunaan sebenar mereka tidak dihargai.
~ dan! operator
Dua operator binari yang jarang adalah ~ (atau pelengkap 1) dan yang! (atau tidak). Mereka kurang daya tarikan pengendali bitumen yang logik, tetapi mereka mempunyai tempat.
Operator pelengkap 1 membalikkan semua bit dalam nilai, menjadikan 1 menjadi 0 dan 0 menjadi 1. Sebagai contoh:
~ 01010011 = 10101100
The! (NOT) operator mempengaruhi keseluruhan nilai - semua bit. Ia mengubah nilai nonzero kepada 0, dan nilai 0 hingga 1:
! 01010011 = 00000000! 00000000 = 00000001
Sifar dan 1 adalah dua-satunya hasil yang mungkin apabila menggunakan bitwise! pengendali.
Baik ~ dan! pengendali adalah pengendali unary - anda hanya awalan nilai untuk mendapatkan hasilnya.
Operator | Name | Type | Action |
---|---|---|---|
& | DAN | Bitwise | Masks bit, reset some bit to 0 and leave the rest
| |
ATAU | Bitwise | Tetapkan bit, menukar bit khusus dari 0 hingga 1 | ^ |
XOR | Bitwise | Perubahan bit ke 0 apabila mereka sepadan; jika tidak, 1 | ~ |
1 melengkapi | Unary | Membalikkan semua bit | ~ |
TIDAK | Unary | Perubahan nilai nonzero kepada 0; 0 nilai, kepada 1 | Fungsi |
binbin ()
|
bin [x] = n & 0x80? '1': '0'; n << = 1;
Kenyataan pertama melakukan AND mask dengan nilai n. Semua tetapi bit paling kiri dalam nombor dibuang. Jika bit itu ditetapkan, yang membuatnya menjadi keadaan BENAR, watak 1 disimpan dalam array; jika tidak, watak 0 disimpan.
Pernyataan kedua mengalihkan bit dalam nilai n satu takik ke kiri. Sebagai gelung berputar, bekerja melalui nilai n, sedikit lagi nilai dialihkan ke kedudukan paling kiri. Bit itu dinilai, dan rentetan binari dibina dengan memasukkan aksara '1' atau '0'.