bit32
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Bu kütüphane bitwise işlemleri gerçekleştirmek için işlevler sağlar.
Sayı Sınırları
Bu kütüphane sayıları imzalanmamış 32 bit sayı olarak ele alır; sayılar kullanılmadan önce dönüştürülecektir (aşağıdaki resme bakın).Ondalık sayılarla birlikte gelen sayılar en yakın bütün sayıya yuvarlanır.

Özet
İşlevler
Bitleri bir verilen yerçekimi tarafından sağa aritmetik olarak kaydırıldıktan sonra bir sayı döndürür.
Tüm sağlanan sayıların bitwise AND'ini döndürür.
Verilen sayının bitwise negasyonunu döndürür.
Tüm sağlanan sayıların bitwise OR'unu döndürür.
Bitwise ve operatörlerinin sıfırdan farklı olup olmadığını tanımlayan bir boolean döndürür.
Tüm sağlanan sayıların bitwise XOR'unu döndürür.
Verilen sayıyı değiştirilen bayt sırasıyla döndürür.
Verilen sayının 32-bit temsilinde en sol (en önemli) bitinden başlayarak sıfır bit sayısını döndürür.
Verilen sayının 32-bit temsilinde en sağdan (en önemli) bit başlayarak sıfır bit sayısını döndürür. Returns the number of consecutive zero bits in the 32-bit representation of the provided number starting from the right-most (least significant) bit.
Bir sayıdan bir dizi bit çıkar ve onları imzalı olmayan bir sayı olarak geri döndür.
Verilen bir değer tarafından değiştirilen bir dizi bit ile bir sayının kopyasını döndürün.
Bitleri bir sayıya dönüştürülerek sola döndürülmüşten sonra bir sayı verir. Returns a number after its bits have been rotated to the left by a given number of times.
Verilen bir yer değiştirme ile sayının bitlerinin mantıksal olarak sola kaydırıldığı bir sayı döndürür.
Bitleri bir sayıya göre sağa döndürülmüşten sonra bir sayı ile bir sayı döndürür. Returns a number after its bits have been rotated to the right by a given number of times.
Verilen bir yer değiştirme ile sayının bitlerinin mantıksal olarak sağa kaydırıldığı bir sayı döndürür.
İşlevler
arshift
Sayıyı x sağa kaydırarak disp bitlerini geri döndürür.Sayı disp herhangi bir temsil edilebilir tamsayı olabilir.Olumsuz taşımalar sola kayar.
Bu değişim işlemi aritmetik değişim olarak adlandırılan şeydir.Sol taraftaki boş bitler x üst bitin kopyalarıyla doldurulur; sağ taraftaki boş bitler sıfırlarla doldurulur.Özellikle, 31'den yüksek mutlak değerli yer değiştirmeleri sıfıra veya 0xFFFFFFFF (tüm orijinal bitler taşınır) sonuç verir.
Parametreler
Dönüşler
band
Tüm sağlanan sayıların bitwise AND'ini döndürür.
Her bit, aşağıdaki gerçek tablosuna karşı test edilir:
<th>B</th><th>Çıkış</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>0</td><td>0</td></tr><tr><td>0</td><td>1</td><td>0</td></tr><tr><td>1</td><td>1</td><td>1</td></tr></tbody>
A |
---|

Parametreler
Dönüşler
bor
Tüm sağlanan sayıların bitwise OR'unu döndürür.
Her bit, aşağıdaki gerçek tablosuna karşı test edilir:
<th>B</th><th>Çıkış</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>0</td><td>1</td></tr><tr><td>0</td><td>1</td><td>1</td></tr><tr><td>1</td><td>1</td><td>1</td></tr></tbody>
A |
---|

Parametreler
Dönüşler
bxor
Tüm sağlanan sayıların bitwise XOR'unu döndürür.
Her bit, aşağıdaki gerçek tablosuna karşı test edilir:
<th>B</th><th>Çıkış</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>0</td><td>1</td></tr><tr><td>0</td><td>1</td><td>1</td></tr><tr><td>1</td><td>1</td><td>0</td></tr></tbody>
A |
---|

Parametreler
Dönüşler
countrz
Verilen sayının 32-bit temsilinde en sağdan (en önemli) bit başlayarak sıfır bit sayısını döndürür. Returns the number of consecutive zero bits in the 32-bit representation of the provided number starting from the right-most (least significant) bit.Verilen sayı sıfırsa 32 döndürür.
Parametreler
Dönüşler
replace
Bits ile n 'nin bir kopyasını field değiştirerek field + width - 1 'ya değer v tarafından değiştirilmiş olarak döndürür.Ayrıntılar için bit32.extract() ve width ile ilgili çalışmaları görün field ve .
Dönüşler
lrotate
Sayı x döndürülmüş disp bitleri sola döndürür.Sayı disp herhangi bir temsil edilebilir tamsayı olabilir.Herhangi bir geçerli yer değiştirme için, aşağıdaki kimlik tutulur:
assert(bit32.lrotate(x, disp) == bit32.lrotate(x, disp % 32))
Özellikle, negatif taşımalar sağa döner.
Dönüşler
lshift
Sayıyı x sağa kaydırarak disp bitlerini sola geri döndürür.Sayı disp herhangi bir temsil edilebilir tamsayı olabilir.Olumsuz taşımalar sağa kayar.Herhangi bir yönde, boş bitler sıfırlarla doldurulur.Özellikle, 31'den yüksek mutlak değerli yer değiştirmeleri sıfıra neden olur (tüm bitler taşınır).

Olumlu taşımalar için, aşağıdaki eşitlik geçerlidir:
assert(bit32.lshift(b, disp) == (b * 2^disp) % 2^32)
Dönüşler
rrotate
Sayı x döndürülerek sağa yerleştirilir disp bitler. Sayı disp herhangi bir temsil edilebilir sayı olabilir.
Herhangi bir geçerli yer değiştirme için, aşağıdaki kimlik tutulur:
assert(bit32.rrotate(x, disp) == bit32.rrotate(x , disp % 32))
Özellikle, negatif taşımalar sola döner.
Dönüşler
rshift
Sayıyı x sağa kaydırarak disp bitlerini geri döndürür.Sayı disp herhangi bir temsil edilebilir tamsayı olabilir.Olumsuz taşımalar sola kayar.Herhangi bir yönde, boş bitler sıfırlarla doldurulur.Özellikle, 31'den yüksek mutlak değerli yer değiştirmeleri sıfıra neden olur (tüm bitler taşınır).

Olumlu taşımalar için, aşağıdaki eşitlik geçerlidir:
assert(bit32.rshift(b, disp) == (b % 2^32 / 2^disp) // 1)
Bu değişim işlemi mantıksal değişim olarak adlandırılır.