«bit-manipulation» etiketlenmiş sorular

Bireysel bitlerin manipülasyonu. Kullanılan operatörler bitsel AND, OR, XOR, NOT, sola kaydırma ve sağa kaydırma içerebilir.


9
Bitsel kaydırma (bit kaydırma) operatörleri nedir ve nasıl çalışır?
Boş zamanlarımda C öğrenmeye çalışıyordum ve diğer diller (C #, Java, vb.) Aynı konsepte sahip (ve genellikle aynı operatörler) ... Bir çekirdek düzeyinde, ne merak ediyorum olduğunu, ne yaptığını bit değiştirme ( <<, >>, >>>) yapmak, bu çözmenize yardımcı olabilir ne sorunlar ve FRİKİKLERİNDEN viraj çevresinde pusuda ne var? Başka …


23
“2'nin Tamamlayıcısı” nedir?
Bir bilgisayar sistemleri dersindeyim ve kısmen Two's Complement ile mücadele ediyorum . Anlamak istiyorum ama okuduğum her şey resmi benim için bir araya getirmedi. Wikipedia makalesini ve ders kitabım da dahil olmak üzere çeşitli diğer makaleleri okudum . Bu nedenle, Two's Complement'in ne olduğunu, nasıl kullanılacağını ve dökümler (imzalıdan imzasıza …

5
Tek bir çarpma ile bitleri ayıklama
Bir kullanılan ilginç bir tekniği görünce cevap için başka bir soru , ve biraz daha iyi anlamak istiyorum. Bize işaretsiz bir 64 bit tam sayı verildi ve aşağıdaki bitlerle ilgileniyoruz: 1.......2.......3.......4.......5.......6.......7.......8....... Özellikle, bunları ilk sekiz konuma taşımak istiyoruz, şöyle: 12345678........................................................ Belirtilen bitlerin değerini umursamıyoruz .ve bunların korunması gerekmiyor. Solüsyon istenmeyen …


10
Numaralandırmalarda en yaygın C # bitsel işlemleri
Hayatım boyunca, bir bit alanında biraz ayarlamayı, silmeyi, değiştirmeyi veya test etmeyi hatırlayamıyorum. Emin değilim ya da onları karıştırıyorum çünkü bunlara nadiren ihtiyacım var. Yani bir "bit hile sayfası" olması güzel olurdu. Örneğin: flags = flags | FlagsEnum.Bit4; // Set bit 4. veya if ((flags & FlagsEnum.Bit4)) == FlagsEnum.Bit4) // …


6
Bir sayıyı katlamak için bitsel VEYA 0 kullanma
Bir meslektaşım şamandıra sayılarını bitsel olarak katlamak için bir yönteme tökezledi veya: var a = 13.6 | 0; //a == 13 Bunun hakkında konuşuyorduk ve birkaç şey merak ediyorduk. O nasıl çalışır? Teorimiz, böyle bir operatör kullanmanın sayıyı bir tamsayıya dökmesi ve böylece kesirli kısmı çıkarmasıydı Yapmaya göre herhangi bir …



25
Bir sonraki 2 güce yuvarlama
2 numaraya en yakın sonraki gücü veren bir fonksiyon yazmak istiyorum. Örneğin, girdim 789 ise, çıktı 1024 olmalıdır. Bunu herhangi bir döngü kullanmadan, sadece bitsel operatörler kullanarak gerçekleştirmenin herhangi bir yolu var mı?


9
C # int tote []
Bir intkullanmak için byte[]bir yol dönüştürmek gerekir BitConverter.GetBytes(). Ancak, aşağıdaki spesifikasyona uyup uymadığından emin değilim: XDR imzalı bir tam sayı, [-2147483648,2147483647] aralığındaki bir tamsayıyı kodlayan 32 bitlik bir veridir. Tam sayı ikinin tamamlayıcı gösteriminde gösterilir. En çok ve en az anlamlı bayt sırasıyla 0 ve 3'tür. Tamsayılar aşağıdaki gibi beyan …
172 c#  .net  bit-manipulation  nfs 

11
~ x + ~ y == ~ (x + y) her zaman yanlış mıdır?
Bu kod her zaman yanlış olarak değerlendirilir mi? Her iki değişken de ikinin tamamlayıcı imzalı girişleridir. ~x + ~y == ~(x + y) Koşulları karşılayan bir sayı olması gerektiğini hissediyorum. Ben arasındaki sayılar test çalıştı -5000ve 5000ama asla elde eşitlik. Duruma çözüm bulmak için bir denklem kurmanın bir yolu var …

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.