Pertanyaan yang diberi tag «bitwise-operators»

Operator yang terbiasa melakukan manipulasi pada bit-level. Bahasa pemrograman berorientasi Byte sedangkan hardware berorientasi bit. Oleh karena itu, kemampuan beroperasi pada bit level bisa menjadi sangat penting dalam pemrograman, terutama ketika program berinteraksi langsung dengan perangkat keras. .


13
Bagaimana !! ~ (bukan tilde / bang bang tilde) mengubah hasil dari panggilan metode Array 'berisi / disertakan'?
Jika Anda membaca komentar di inArrayhalaman jQuery di sini , ada deklarasi yang menarik: !!~jQuery.inArray(elm, arr) Sekarang, saya yakin tanda seru ganda akan mengubah hasil menjadi tipe boolean, dengan nilai true. Yang tidak saya mengerti adalah apa gunanya ~operator tilde ( ) dalam semua ini? var arr = ["one", "two", …

1
Diutamakan dan operasi bitmask
Saya telah menemukan kasus (yang tampaknya) sangat aneh. Ambil angka 2 ( 0b10) dan bitmask dengan 1 ( 0b01) Ini harus menghasilkan 0b00yang setara dengan 0. Namun, di sinilah Tuan Schrödinger berperan: var_dump(0b10 & 0b01); // int(0) var_dump(0b10 & 0b01 == 0); // int(0) var_dump(0b10 & 0b01 != 0); // …

5
Operasi bitwise menghasilkan ukuran variabel yang tidak terduga
Konteks Kami mem-porting kode C yang awalnya dikompilasi menggunakan kompiler C 8-bit untuk mikrokontroler PIC. Ungkapan umum yang digunakan untuk mencegah variabel global yang tidak ditandatangani (misalnya, penghitung kesalahan) berguling kembali ke nol adalah sebagai berikut: if(~counter) counter++; Operator bitwise di sini membalikkan semua bit dan pernyataan ini hanya benar …

5
Membandingkan sedikit ke boolean
Katakanlah saya memiliki satu set bendera, yang dikodekan dalam uint16_t flags. Sebagai contoh AMAZING_FLAG = 0x02,. Sekarang, saya punya fungsi. Fungsi ini perlu memeriksa apakah saya ingin mengubah bendera, karena jika saya ingin melakukan itu, saya perlu menulis ke flash. Dan itu mahal. Oleh karena itu, saya ingin cek yang …
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.