bit32

Artık kullanılmayanları göster

*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 yapmak için işlevler sağlar.

Sınırlama Sayıları

Bu kütüphane sayıları 32-bit olarak imzalı sayılar olarak işlemektedir; sayılar bu şekilde kullanılmadan önce dönüştürülür (aşağıdaki görüntüye bakın). Onluk sayılar kullanıldığında, onluk sayılar kullanıcının en yakın sayısına arondanır.

32-bit integer conversion (in hexadecimal)

Özet

İşlevler

  • Verilen bir yer değiştirmesi sayısının aritmetik olarak sağ tarafına göre döndürür.

  • band(numbers : Tuple):number

    Tüm sağlanan sayıların bitwise'ini ve döndürür.

  • Verilen bir sayının bitwise negation'ını döndürür.

  • bor(numbers : Tuple):number

    Tüm sağlanan sayıların bitwise'ini VEYA döndürür.

  • btest(numbers : Tuple):bool

    Bitwise ve operantlarının sıfırdan farklı olduğunu gösteren bir booleto döndürür.

  • bxor(numbers : Tuple):number

    Tüm sağlanan sayıların XOR'unu bitwise olarak döndürür.

  • Değiştirilen başlıkların sırasıyla döndürüldüğü sayıyı döndürür.

  • Sağdan en önemli (en önemli) bit başlangıcından itibaren sağlanan sayının 32-bit temsilindeki sırası beşeri sayıyı döndürür.

  • Sağ en önemli (en az önemli) bit başından itibaren sağlanan sayının 32-bit temsilindeki sıradaki sıfır bitlerin sayısını iade eder.

  • extract(n : number,field : number,width : number):number

    Bir sayıdan bir dizi biti çıkar ve onları imzalı olmayan bir sayı olarak geri ver.

  • replace(n : number,v : number,field : number,width : number):number

    Verilen değerin yerini alan bir saymanın kopyasını iade edin.

  • Bitleri sağda belirli bir sayı kadar döndürdükten sonra bir sayıyı iade eder.

  • Verilen bir yerleştirmeye göre sağa kaydırılmış olan bitlerin sayısını döndürür.Returns a number whose bits have been logically shifted to the left by a given displacement.

  • Bitleri belirli bir sayıda kez sağa döndükten sonra bir sayıyı iade eder.

  • Verilen bir yerleştirmeye göre sağa logik olarak hareket ettirilen bitlerin sayısını iade eder.

İşlevler

arshift

Şu sayıyı döndürür: xShifted disp bitleri sağa. Sayı disp sağda herhangi bir temsil edilebilir sayı olabilir. Olumsuz yer değiştirmeleri sola kaydırılır.

Bu değiştirme işlemi aritmetik değiştirme olarak adlandırılır. Sol taraftaki boş bitler x 'in daha yüksek biti ile doldurulur; sağ taraftaki boş bitler z ile doldurulur. Özellikle, yerel değerlerin üzerinden 31'den daha yüksek değerler için değiştirme ile sıfırlanır.

Parametreler

Kaydının bitmesi gereken numarayı.

disp: number

Değiştirilecek bir sayın bittiğindeki sayısal sayısı.

Dönüşler

band

Tüm sağlanan sayıların bitwise'ini ve döndürür.

Her bir bit, aşağıdaki gerçek tablosuna karşı test edilir:


<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>
BirBÇıkış
Bitwise AND of 3 numbers

Parametreler

numbers: Tuple

Dönüşler

bnot

x 'in bitwise negation'ını iade eder.

Negation of a provided number

Herhangi bir sayı için x , aşağıdaki kimlik tutar:


assert(bit32.bnot(x) == (-1 - x) % 2^32)

Parametreler

Dönüşler

Tüm sağlanan sayıların bitwise'ini VEYA döndürür.

Her bir bit, aşağıdaki gerçek tablosuna karşı test edilir:


<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>
BirBÇıkış
Bitwise OR of 3 numbers

Parametreler

numbers: Tuple

Dönüşler

btest

Bitwise'in ve operatörlerinin零'dan farklı olduğunu gösteren bir boBoolean işaretine döndürür.

Parametreler

numbers: Tuple

Dönüşler

bxor

Tüm sağlanan sayıların XOR'unu bitwise olarak döndürür.

Her bir bit, aşağıdaki gerçek tablosuna karşı test edilir:


<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>
BirBÇıkış
Bitwise XOR of 3 numbers

Parametreler

numbers: Tuple

Dönüşler

byteswap

Değiştirilen başlıkların sırasıyla döndürüldüğü sayıyı döndürür.

Parametreler

Dönüşler

countlz

Sağdan en önemli bit olarak başlayan 32-bit temsilindeki sıradaki sıfır bitlerin sayısını iade eder. Sağdan 0 olan sayı 32 ise iade eder.

Parametreler

Dönüşler

countrz

Sağ en düşük (en az önemli) bit başlangıcından itibaren sunulan sayının 32-bit temsilindeki sıradaki sıfır bitlerini iade eder. 32'yi döndürür if sunulan sayı 0 ise.

Parametreler

Dönüşler

extract

Bu, bitlerin field ile oluşturulan imzalı sayıyı field + width - 1 ile n arasında işaret eder. Bitler, en düşük olanından en büyüğüne kadar sayılır. Erişilen tüm bitler 1> wide1> 'de olmalıdı

Parametreler

field: number
width: number
Varsayılan değer: 1

Dönüşler

replace

n ile bitleri field ile değiştirilmiş field + width - 1 ile değiştirilmiş 1> v1> ile görüntülenir. Ayrıca bakınız 4> Library.bit32.assign()4> ile ilgili detaylar <

Parametreler

field: number
width: number
Varsayılan değer: 1

Dönüşler

lrotate

Sol taraftaki disp bitleri disp döndürülmüş sayısına iade eder. disp bitleri herhangi bir sayısal ifade olabilir. Herhangi bir yer değiştirme için aşağıdaki kimlik tutar:


assert(bit32.lrotate(x, disp) == bit32.lrotate(x, disp % 32))

Özellikle, olumsuz yer değiştirmeleri sağa döndürür.

Parametreler

disp: number

Dönüşler

lshift

Sol taraftaki x bitleri disp ile değiştirir. disp sayısı herhangi bir sayısal ifade olabilir. Olumsuz yer değişikliği sağa kaydırılır. Herhangi bir yönde, boş bitler zerolarla doldurulur. Özellikle, 2> disp2>

Number shifted 3 to the left

Olumlu yer değiştirmeleri için şu eşitliği tutar:


assert(bit32.lshift(b, disp) == (b * 2^disp) % 2^32)

Parametreler

disp: number

Dönüşler

rrotate

Sağa döndürülmüş x sayısını disp bitlerine iade eder. disp sayısı herhangi bir temsil edilebilir sayı olabilir.

Herhangi bir geçerli yer değiştirmesi için aşağıdaki kimlik geçerlidir:


assert(bit32.rrotate(x, disp) == bit32.rrotate(x , disp % 32))

Özellikle, olumsuz yer değiştirmeleri sola döndürür.

Parametreler

disp: number

Dönüşler

rshift

Şu sayıyı döndürür: x``disp sağa kaydırılmış bitleri disp ile birlikte iade eder. 1> disp1> , herhangi bir sayısal sayıyı temsil edebilir. Olumsuz kaydırımlar sola kaydırılır. Herhangi bir yönde, boş bitler zerolarla d

Number shifted 3 to the right

Olumlu yer değiştirmeleri için şu eşitliği tutar:


assert(bit32.rshift(b, disp) == math.floor(b % 2^32 / 2^disp))

Bu değiştirme işlemi mantıksal değiştirme olarak adlandırılır.

Parametreler

disp: number

Dönüşler