«bitwise-operators» etiketlenmiş sorular

Bit seviyesinde manipülasyon yapmak için kullanılan operatörler Programlama dilleri Byte yönelimlidir, donanım bit yönelimlidir.Bu nedenle, bit seviyesinde çalışabilmek, özellikle program donanımla doğrudan etkileşime girdiğinde programlamada çok önemli olabilir. .


13
!! ~ (tilde / bang bang tilde değil) 'içerir / dahil' bir dizi yöntemi çağrısının sonucunu nasıl değiştirir?
Buradaki jQuery inArraysayfasındaki yorumları okursanız, ilginç bir beyan var: !!~jQuery.inArray(elm, arr) Şimdi, çift ünlem işaretinin sonucu booleandeğerine sahip türe çevireceğine inanıyorum true. Anlamadığım şey, tüm bunlarda tilde ( ~) operatörünün kullanımı nedir? var arr = ["one", "two", "three"]; if (jQuery.inArray("one", arr) > -1) { alert("Found"); } İfadeyi yeniden düzenleme if: …

1
Öncelik ve bit maskesi işlemleri
(Görünüşe göre) çok garip bir vakayla karşılaştım. 2 numaralı (al 0b10() ve 1 ile bit maskesi 0b01) Bu, 0b000'a eşdeğer olanı üretmelidir . Ancak, Bay Schrödinger burada devreye giriyor: var_dump(0b10 & 0b01); // int(0) var_dump(0b10 & 0b01 == 0); // int(0) var_dump(0b10 & 0b01 != 0); // int(0) Viski. Tango. …

5
Bitsel işlem beklenmedik değişken boyutuna neden olur
bağlam Başlangıçta PIC mikrodenetleyici için 8 bit C derleyicisi kullanılarak derlenen C kodunu taşıyoruz. İmzasız global değişkenlerin (örneğin, hata sayaçları) sıfıra geri dönmesini önlemek için kullanılan yaygın bir deyim şudur: if(~counter) counter++; Bitsel operatör burada tüm bitleri tersine çevirir ve ifade sadece countermaksimum değerden azsa doğrudur . Daha da önemlisi, …

5
Biraz bir boolean ile karşılaştırma
Diyelim ki bir uint16_t kodlanmış bir dizi bayrak var flags. Örneğin AMAZING_FLAG = 0x02,. Şimdi bir fonksiyonum var. Bu işlevin bayrağını değiştirmek isteyip istemediğimi kontrol etmesi gerekir, çünkü bunu yapmak istersem flaşa yazmam gerekir. Ve bu pahalı. Bu nedenle, bana flags & AMAZING_FLAGeşit olup olmadığını söyleyen bir kontrol istiyorum doSet. …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.