JS bit operatorlari
JavaScript bitli operatorlari
| Operator | Name | Tavsif |
|---|---|---|
| & | AND | Ikkala bit ham 1 bo‘lsa, har bir bitni 1 ga o‘rnatadi |
| | | OR | Ikki bitdan biri 1 bo‘lsa, har bir bitni 1 ga o‘rnatadi |
| ^ | XOR | Ikki bitdan faqat bittasi 1 bo‘lsa, har bir bitni 1 ga o‘rnatadi |
| ~ | NOT | Barcha bitlarni teskarisiga o‘zgartiradi |
| << | Zero fill left shift | Nollarni o‘ngdan ichkariga bosish orqali chapga siljiydi va eng chapdagi bitlarning tushishiga yo‘l qo‘ying |
| >> | Signed right shift | Eng chap bitning nusxalarini chapdan ichkariga surish orqali o‘ngga siljiydi va eng o‘ngdagi bitlarning tushib ketishiga yo‘l qo‘ying |
| >>> | Zero fill right shift | Chapdan nollarni bosish orqali o‘ngga siljiydi va eng o‘ngdagi bitlar tushishiga yo‘l qo‘ying |
Misollar
| Operation | Natija | Ekvivalenti | Natija |
|---|---|---|---|
| 5 & 1 | 1 | 0101 & 0001 | 0001 |
| 5 | 1 | 5 | 0101 | 0001 | 0101 |
| ~ 5 | 10 | ~0101 | 1010 |
| 5 << 1 | 10 | 0101 << 1 | 1010 |
| 5 ^ 1 | 4 | 0101 ^ 0001 | 0100 |
| 5 >> 1 | 2 | 0101 >> 1 | 0010 |
| 5 >>> 1 | 2 | 0101 >>> 1 | 0010 |
JavaScript 32 bitli bitli operandlardan foydalanadi
JavaScript raqamlarni 64 bitli suzuvchi nuqta raqamlari sifatida saqlaydi, lekin barcha bit bo‘yicha operatsiyalar 32 bitli ikkilik raqamlarda amalga oshiriladi.
Bit bo‘yicha operatsiyani bajarishdan oldin JavaScript raqamlarni 32 bitli imzolangan butun sonlarga aylantiradi.
Bit bo‘yicha operatsiya bajarilgandan so‘ng, natija 64 bitli JavaScript raqamlariga aylantiriladi.
Yuqoridagi misollar 4 bitli imzosiz ikkilik raqamlardan foydalanadi. Shu sababli ~ 5 10 ni qaytaradi.
JavaScript 32 bitli imzolangan butun sonlardan foydalanganligi sababli, u 10 ni qaytarmaydi. U -6 ni qaytaradi.
00000000000000000000000000000101 (5)
11111111111111111111111111111010 (~5 = -6)
Belgilangan butun son eng chap bitni minus belgisi sifatida ishlatadi.
JavaScript Bitwise VA
Bit juftligida AND bajarilsa, ikkala bit ham 1 bo‘lsa, u 1 ni qaytaradi.
| Operatsiya | Natija |
|---|---|
| 0 va 0 | 0 |
| 0 va 1 | 0 |
| 1 va 0 | 0 |
| 1 va 1 | 1 |
| Operatsiya | Natija |
|---|---|
| 1111 va 0000 | 0000 |
| 1111 va 0001 | 0001 |
| 1111 va 0010 | 0010 |
| 1111 va 0100 | 0100 |
JavaScript bitli OR
Bit bo‘yicha OR juft bitda bajarilganda, bitlardan biri 1 bo‘lsa, u 1 ni qaytaradi:
| Operatsiya | Natija |
|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
| Operatsiya | Natija |
|---|---|
| 1111 | 0000 | 1111 |
| 1111 | 0001 | 1111 |
| 1111 | 0010 | 1111 |
| 1111 | 0100 | 1111 |
JavaScript bitli XOR
Bitli XOR bir juft bitda bajarilganda, agar bitlar boshqacha bo‘lsa, u 1 ni qaytaradi:
| Operatsiya | Natija |
|---|---|
| 0 ^ 0 | 0 |
| 0 ^ 1 | 1 |
| 1 ^ 0 | 1 |
| 1 ^ 1 | 0 |
| Operatsiya | Natija |
|---|---|
| 1111 ^ 0000 | 1111 |
| 1111 ^ 0001 | 1110 |
| 1111 ^ 0010 | 1101 |
| 1111 ^ 0100 | 1011 |
JavaScript bitli VA (&)
Bit bo‘yicha AND ikkala bit 1 bo‘lsagina 1ni qaytaradi:
| O‘nlik | Ikkilik |
|---|---|
| 5 | 00000000000000000000000000000101 |
| 1 | 00000000000000000000000000000001 |
| 5 va 1 | 00000000000000000000000000000001 (1) |
JavaScript Bitwise YOKI (|)
Bit yo‘nalishi bo‘yicha OR, agar bitlardan biri 1 bo‘lsa, 1 ni qaytaradi:
| O‘nlik | Ikkilik |
|---|---|
| 5 | 00000000000000000000000000000101 |
| 1 | 00000000000000000000000000000001 |
| 5 | 1 | 00000000000000000000000000000101 (5) |
JavaScript bitli XOR (^)
Bit bo‘yicha XOR, agar bitlar boshqacha bo‘lsa, 1 ni qaytaradi:
| O‘nlik | Ikkilik |
|---|---|
| 5 | 00000000000000000000000000000101 |
| 1 | 00000000000000000000000000000001 |
| 5 ^ 1 | 00000000000000000000000000000100 (4) |
JavaScript Bitwise EMAS (~)
| O‘nlik | Ikkilik |
|---|---|
| 5 | 00000000000000000000000000000101 |
| ~5 | 11111111111111111111111111111010 (-6) |
JavaScript (nol to‘ldirish) Bit yo‘nalishi bo‘yicha chapga siljish (<<)
Bu nol to‘ldirish chap siljish. Bir yoki bir nechta nol bitlar o‘ngdan itariladi va eng chap bitlar tushadi:
| O‘nlik | Ikkilik |
|---|---|
| 5 | 00000000000000000000000000000101 |
| 5 << 1 | 00000000000000000000000000001010 (10) |
JavaScript (belgini saqlash) Bit bo‘yicha o‘ngga siljitish (>>)
Bu to‘g‘ri siljishni saqlaydigan belgi. Eng chap bitning nusxalari chapdan ichkariga suriladi va eng o‘ngdagi bitlar tushadi:
| O‘nlik | Ikkilik |
|---|---|
| -5 | 11111111111111111111111111111011 |
| -5 >> 1 | 11111111111111111111111111111101 (-3) |
JavaScript (nol to‘ldirish) o‘ngga siljitish (>>>>)
Bu nol to‘ldirish o‘ngga siljish. Bir yoki bir nechta nol bitlar chapdan itariladi va eng o‘ngdagi bitlar tushadi:
| O‘nlik | Ikkilik |
|---|---|
| 5 | 00000000000000000000000000000101 |
| 5 >>> 1 | 00000000000000000000000000000010 (2) |
Shiftni tayinlash operatorlari
| Operator | Misol | Ekvivalenti |
|---|---|---|
| <<= | x <<= y | x = x << y |
| >>= | x >>= y | x = x >> y |
| >>>= | x >>>= y | x = x >>> y |
<<= Operator
Chapga siljitishni tayinlash operatori o‘zgaruvchini chapga siljitadi.
>>= Operator
O‘ngga o‘tishni tayinlash operatori o‘zgaruvchini o‘ngga siljitadi (imzolangan).
>>>= Operator
Unsigned Right Shift Assignment operatori o‘zgaruvchini (imzosiz) o‘ngga siljitadi.
Bitwise tayinlash operatorlari
| Operator | Misol | Ekvivalenti |
|---|---|---|
| &= | x &= y | x = x & y |
| ^= | x ^= y | x = x ^ y |
| |= | x |= y | x = x | y |
&= Operator
Bitli AND tayinlash operatori ikkita operandda bitli AND operatsiyasini bajaradi va natijani o‘zgaruvchiga tayinlaydi.
|= Operator
Bitli OR tayinlash operatori ikkita operandda bitli OR operatsiyasini bajaradi va natijani o‘zgaruvchiga tayinlaydi.
^= Operator
Bitwise XOR tayinlash operatori ikkita operandda bitli XOR operatsiyasini bajaradi va natijani o‘zgaruvchiga tayinlaydi.
Ikkilik Numberlar
Bitta bitli ikkilik raqamlarni tushunish oson:
| Ikkilik vakillik | O‘nlik qiymat |
|---|---|
| 00000000000000000000000000000001 | 1 |
| 00000000000000000000000000000010 | 2 |
| 00000000000000000000000000000100 | 4 |
| 00000000000000000000000000001000 | 8 |
| 00000000000000000000000000010000 | 16 |
| 00000000000000000000000000100000 | 32 |
| 00000000000000000000000001000000 | 64 |
Yana bir nechta bitni o‘rnatish ikkilik naqshni ochib beradi:
| Ikkilik vakillik | O‘nlik qiymat |
|---|---|
| 00000000000000000000000000000101 | 5 (4 + 1) |
| 00000000000000000000000000001101 | 13 (8 + 4 + 1) |
| 00000000000000000000000000101101 | 45 (32 + 8 + 4 + 1) |
JavaScript ikkilik raqamlari ikkita to‘ldiruvchi formatda saqlanadi.
Bu shuni anglatadiki, manfiy son sonning bit yo‘nalishi bo‘yicha EMAS, ortiqcha 1:
| Ikkilik vakillik | O‘nlik qiymat |
|---|---|
| 00000000000000000000000000000101 | 5 |
| 11111111111111111111111111111011 | -5 |
| 00000000000000000000000000000110 | 6 |
| 11111111111111111111111111111010 | -6 |
| 00000000000000000000000000101000 | 40 |
| 11111111111111111111111111011000 | -40 |
Hazil:
Dunyoda bor-yo‘g‘i 10 turdagi odamlar bor: binarni tushunadiganlar va tushunmaydiganlar.
O‘nlik sanoqni ikkilik sanoqqa aylantirish
Ikkilik sanoqli tizimga aylantirish
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
