Semuanya adalah pengendali binari dan merupakan konsep pemasangan Secara umumnya, ia tidak digunakan. Tetapi kerana mereka adalah pengendali peringkat rendah, kelajuan operasi mereka sangat pantas, dan mereka juga boleh digunakan dalam operasi biasa. Contohnya: dan operator biasanya digunakan untuk mengosongkan. Operator DAN boleh digunakan untuk menukar integer kepada integer pendek (sebenarnya menukar dword kepada perkataan).
0xffffeeee&0xffff=0xeeee
Atau operasi biasanya digunakan untuk kod pelengkap. Sebagai contoh, jenis integer ialah 4 bait dan 32 bit, yang bermaksud ia boleh dikonfigurasikan untuk menampung 32 bit. (TRUE/FALSE), pada masa ini anda boleh menggunakan 或 untuk menetapkan kedudukan tertentu kepada 1.
Eksklusif ATAU biasanya digunakan untuk penyulitan Selain itu, terdapat keanehan lain seperti anjakan kiri untuk pendaraban dan anjakan kanan untuk bahagi.
Terdapat terlalu banyak mata pengetahuan dalam bidang ini, dan secara amnya tidak perlu mempelajarinya secara khusus. Jika anda mengetahui lebih lanjut tentang binari, anda akan memahaminya. Sejujurnya, ia agak sukar. Saya menaip untuk masa yang lama, tetapi mungkin tidak ramai yang dapat memahaminya. .
Operasi bit lebih banyak digunakan dalam pengaturcaraan tertanam dan pemacu Ia digunakan apabila mendaftar secara langsung Ia nampaknya tidak banyak digunakan dalam lapisan aplikasi. Namun, saya mempunyai tanggapan bahawa terdapat banyak teknik pelik yang boleh digunakan yang paling menarik perhatian saya ialah soalan mengenai leetcode: LeetCode 136. Nombor Tunggal
Soalannya sangat mudah adalah untuk mencari satu-satunya integer yang muncul sekali dalam tatasusunan, manakala yang lain akan muncul dua kali.
Idea biasa ialah menggunakan jadual, tetapi apabila tatasusunan besar, kelajuannya sangat perlahan, dan kemudian terdapat algoritma XOR bitwise. XOR terus semua nombor dalam tatasusunan bitwise, dan nombor selebihnya ialah apa yang anda mahukan, anda boleh mencari dalam talian untuk mengetahui.
Ambil contoh dalam senario sebenar Konfigurasikan nilai bit tertentu dalam bait. Contoh: Untuk menetapkan bit tertentu pembolehubah ini, gunakan bitwise ATAU a = a|0x01, yang menetapkan bit terakhir Untuk mengekstrak nilai bit tertentu, anda boleh menggunakan bitwise DAN b = a&0x01 Ini ialah nilai yang mengekstrak bit terakhir.
Operasi XOR ialah salah satu operasi teras kriptografi.
Banyak penyulitan simetri berdasarkan operasi XOR.
Semuanya adalah pengendali binari dan merupakan konsep pemasangan Secara umumnya, ia tidak digunakan.
Tetapi kerana mereka adalah pengendali peringkat rendah, kelajuan operasi mereka sangat pantas, dan mereka juga boleh digunakan dalam operasi biasa.
Contohnya:
dan operator biasanya digunakan untuk mengosongkan.
Operator DAN boleh digunakan untuk menukar integer kepada integer pendek (sebenarnya menukar dword kepada perkataan).
Atau operasi biasanya digunakan untuk kod pelengkap.
Sebagai contoh, jenis integer ialah 4 bait dan 32 bit, yang bermaksud ia boleh dikonfigurasikan untuk menampung 32 bit. (
TRUE
/FALSE
), pada masa ini anda boleh menggunakan或
untuk menetapkan kedudukan tertentu kepada 1.Eksklusif ATAU biasanya digunakan untuk penyulitan
Selain itu, terdapat keanehan lain seperti anjakan kiri untuk pendaraban dan anjakan kanan untuk bahagi.
Terdapat terlalu banyak mata pengetahuan dalam bidang ini, dan secara amnya tidak perlu mempelajarinya secara khusus. Jika anda mengetahui lebih lanjut tentang binari, anda akan memahaminya. Sejujurnya, ia agak sukar.
Saya menaip untuk masa yang lama, tetapi mungkin tidak ramai yang dapat memahaminya. .
Operasi bit lebih banyak digunakan dalam pengaturcaraan tertanam dan pemacu Ia digunakan apabila mendaftar secara langsung Ia nampaknya tidak banyak digunakan dalam lapisan aplikasi.
Namun, saya mempunyai tanggapan bahawa terdapat banyak teknik pelik yang boleh digunakan yang paling menarik perhatian saya ialah soalan mengenai leetcode:
LeetCode 136. Nombor Tunggal
Soalannya sangat mudah adalah untuk mencari satu-satunya integer yang muncul sekali dalam tatasusunan, manakala yang lain akan muncul dua kali.
Idea biasa ialah menggunakan jadual, tetapi apabila tatasusunan besar, kelajuannya sangat perlahan, dan kemudian terdapat algoritma XOR bitwise.
XOR terus semua nombor dalam tatasusunan bitwise, dan nombor selebihnya ialah apa yang anda mahukan, anda boleh mencari dalam talian untuk mengetahui.
Ambil contoh dalam senario sebenar
Konfigurasikan nilai bit tertentu dalam bait.
Contoh:
Untuk menetapkan bit tertentu pembolehubah ini, gunakan bitwise ATAU a = a|0x01, yang menetapkan bit terakhir Untuk mengekstrak nilai bit tertentu, anda boleh menggunakan bitwise DAN b = a&0x01 Ini ialah nilai yang mengekstrak bit terakhir.
Bitmask, bitmap, dsb.
Pemprosesan format binari (cth. pengepala TCP)
Kriptografi