JavaScript Bit İşlemleri

JavaScript Bit İşlemleri

İşletimci İsim Açıklama
& AND İki bit her ikisi de 1 ise her biti 1 olarak ayarlayın
| OR İki bitten biri 1 ise her biti 1 olarak ayarlayın
^ XOR İki bitten sadece biri 1 ise her biti 1 olarak ayarlayın
~ NOT Tüm bitleri tersine çevir
<< Sıfır doldurma sola doğru kaydırma Sola sıfır tıklayarak sola doğru kaydırın ve en soldaki biti düşürün.
>> İşaretli sağa doğru kaydırma En soldaki bitin kopyasını solda tıklayarak sağa doğru kaydırın ve en sağdaki biti düşürün.
>>> Sıfır doldurma sağa doğru kaydırma Sola solda tıklayarak sağa doğru kaydırın ve en sağdaki biti düşürün.

Örnek

İşlem Sonuç Eşittir Sonuç
5 & 1 1 0101 & 0001 0001
5 | 1 5 0101 | 0001 0101
5 ^ 1 4 0101 ^ 0001 0100
~ 5 10 ~0101 1010
5 << 1 10 0101 << 1 1010
5 >> 1 2 0101 >> 1 0010
5 >>> 1 2 0101 >>> 1 0010

JavaScript 32 bitlik bit işlem sayıları kullanır

JavaScript 64 bitlik sayıları saklar, ancak tüm bit işlemleri 32 bitlik ikili sayılar olarak gerçekleştirilir.

Bit işlemi gerçekleştirmeden önce, JavaScript sayıları 32 bitlik işaretli tam sayılara dönüştürülür.

Bit işlemi gerçekleştirdikten sonra, sonuç 64 bitlik JavaScript sayısına dönüştürülür.

Yukarıdaki örnekler 4 bitli tamsayı kullanır. Bu yüzden ~ 5 10 döner.

JavaScript 32 bit işaretli tam sayı kullanır, bu yüzden JavaScript -6 döner.

00000000000000000000000000000101 (5)

11111111111111111111111111111010 (~5 = -6)

İşaretli tam sayılar en sol biti işaret işareti olarak kullanır.

Bit işlem AND

Bir çift sayı biti AND ile bit işlemi yapılırken, bitler tümü 1 ise 1 döner.

Birim örnekleri:

İşlem Sonuç
0 & 0 0
0 & 1 0
1 & 0 0
1 & 1 1

Dört bit örnekleri:

İşlem Sonuç
1111 & 0000 0000
1111 & 0001 0001
1111 & 0010 0010
1111 & 0100 0100

Bit işlem OR

Bir çift sayı biti OR ile bit işlemi yapılırken, birinde 1 varsa 1 döner:

Birim örnekleri

İşlem Sonuç
0 | 0 0
0 | 1 1
1 | 0 1
1 | 1 1

Dört bit işlemi:

İşlem Sonuç
1111 | 0000 1111
1111 | 0001 1111
1111 | 0010 1111
1111 | 0100 1111

Bit işlem XOR

Bir çift sayı biti XOR ile bit işlemi yapılırken, bitler farklıysa 1 döner:

Birim örnekleri:

İşlem Sonuç
0 ^ 0 0
0 ^ 1 1
1 ^ 0 1
1 ^ 1 0

Dört bit örnekleri:

İşlem Sonuç
1111 ^ 0000 1111
1111 ^ 0001 1110
1111 ^ 0010 1101
1111 ^ 0100 1011

JavaScript bit işlem AND (&)

Eğer bitler tümü 1 ise, bit işlem AND 1 döner:

onluk ikili
5 00000000000000000000000000000101
1 00000000000000000000000000000001
5 & 1 00000000000000000000000000000001 (1)

Örnek

var x = 5 & 1;

Kendi Kendine Deneyin

JavaScript bit işlem OR (|)

Bir sayı biti 1 ise, bit işlemci OR 1 döner:

onluk ikili
5 00000000000000000000000000000101
1 00000000000000000000000000000001
5 | 1 00000000000000000000000000000101 (5)

Örnek

var x = 5 | 1;

Kendi Kendine Deneyin

JavaScript bit işlemci XOR (^)

Sayı bitleri farklıysa, XOR 1 döner:

onluk ikili
5 00000000000000000000000000000101
1 00000000000000000000000000000001
5 ^ 1 00000000000000000000000000000100 (4)

Örnek

var x = 5 ^ 1;

Kendi Kendine Deneyin

JavaScript bit işlemci NOT (~)

onluk ikili
5 00000000000000000000000000000101
~5 11111111111111111111111111111010 (-6)

Örnek

var x = ~5;

Kendi Kendine Deneyin

JavaScript (sıfır doldurma) bit işlemci sola doğru kaydırma (<<)

Bu, sağa doğru sıfır doldurma. Sağdan bir veya daha fazla sıfır sayı biti itilir, en sol sayı biti çıkarılır:

onluk ikili
5 00000000000000000000000000000101
5 << 1 00000000000000000000000000001010 (10)

Örnek

var x = 5 << 1;

Kendi Kendine Deneyin

JavaScript (işaretli) bit işlemci sağa doğru kaydırma (>>)

Bu, işaretini koruyan sağa doğru kaydırma. Soldan en sol sayı biti itilir, en sağdaki sayı biti dışarı çıkar:

onluk ikili
-5 11111111111111111111111111111011
-5 >> 1 11111111111111111111111111111101 (-3)

Örnek

var x = -5 >> 1;

Kendi Kendine Deneyin

JavaScript (sıfır doldurma) sağa doğru kaydırma (>>>)

Bu, sağa doğru sıfır doldurma. Soldan bir veya daha fazla sıfır sayı biti itilir, en sağdaki sayı biti dışarı çıkar:

onluk ikili
5 00000000000000000000000000000101
5 >>> 1 00000000000000000000000000000010 (2)

Örnek

var x = 5 >>> 1;

Kendi Kendine Deneyin

32-bit işaretli tam sayı (ikili sayı)

32 bit tek basamaklı tam sayı anlaşılır:

İkili Temsil Onaltilik Değeri
00000000000000000000000000000001 1
00000000000000000000000000000010 2
00000000000000000000000000000100 4
00000000000000000000000000001000 8
00000000000000000000000000010000 16
00000000000000000000000000100000 32
00000000000000000000000001000000 64

Daha fazla sayısal basamak ayarlamak, ikili desenini daha açıkça ortaya çıkarır:

İkili Temsil Onaltilik Değeri
00000000000000000000000000000101 5 (4 + 1)
00000000000000000000000000101000 40 (32 + 8)
00000000000000000000000000101101 45 (32 + 8 + 4 + 1)

Negatif sayılar, pozitiflerin ikili k码加 1'dir:

İkili Temsil Onaltilik Değeri
00000000000000000000000000000101 5
11111111111111111111111111111011 -5
00000000000000000000000000101000 40
11111111111111111111111111011000 -40
11111111111111111111111111011001 -41

Onaltilikyi İkiliye Dönüştür

Örnek

function dec2bin(dec){
    return (dec >>> 0).toString(2);
}

Kendi Kendine Deneyin

İkiliyi Onaltilik Dönüştür

Örnek

function bin2dec(bin){
    return parseInt(bin, 2).toString(10);
}

Kendi Kendine Deneyin