جی‌اس‌ئی اپریشن‌های بیت

جی‌اس‌ئی اپریشن‌های بیت

آپریٹر نام وصف
& AND اگر دو کی جانب سے دونوں 1 تو ہر پوسٹ کو 1 ساتھ دینا.
| OR اگر دو کی جانب سے سے ایک 1 تو ہر پوسٹ کو 1 ساتھ دینا.
^ XOR اگر دو کی جانب سے سے ایک صرف 1 تو ہر پوسٹ کو 1 ساتھ دینا.
~ NOT تمام پوسٹوں کو واپس کرو
<< زر کی مدد سے باہر کار لانے والی تقارب سے دکھ کی جانب سے زر کی مدد سے باہر کار لانے کے ذریعے، اور سمت دکھ کا پوسٹ اُٹار دینا.
>> علامت والی باہر کار لانے والی تقارب سے چپ کی جانب سے سمت چپ کی کاپی کی مدد سے باہر کار لانے کے ذریعے، اور سمت چپ کا پوسٹ اُٹار دینا.
>>> زر کی مدد سے باہر کار لانے والی تقارب سے چپ کی جانب سے زر کی مدد سے باہر کار لانے کے ذریعے، اور سمت چپ کا پوسٹ اُٹار دینا.

مثال

آپریشن نتیجہ مساوی ہوتا ہے نتیجہ
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

جسٹاگرام 32 بیٹ بیٹ آپریشن استعمال کرتا ہے

جسٹاگرام اعداد کو 64 بیٹ فلوٹنگ پوائنٹ بولیا میں ذخیرہ کیا جاتا ہے، لیکن تمام بیٹ آپریشن 32 بیٹ بولیا کے طور پر آپریشن میں آتا ہے.

بیٹ آپریشن کو کئے جانے سے پہلے جسٹاگرام اعداد کو 32 بیٹ سائن کو بولیا میں تبدیل کرتا ہے.

بیٹ آپریشن کو کئے جانے کے بعد نتیجہ کو 64 بیٹ جسٹاگرام بولیا میں تبدیل کیا جاتا ہے.

بعد از بالا مثال 4 بیٹ بیکسیلر بولیا استعمال میں آتا ہے، اس لئے ~ 5 10 برآمد کرتا ہے.

چونکہ جسٹاگرام 32 بیٹ سائن کو بولیا استعمال کرتا ہے، جسٹاگرام -6 برآمد کرتا ہے.

00000000000000000000000000000101 (5)

11111111111111111111111111111010 (~5 = -6)

سائن کو پائیدار بولیا استعمال کرتا ہے اور سب سے بائیں بیٹ استعمال میں آتا ہے.

بیٹ آپریشن اند

جب ایک جفت بیٹس کو بیٹ آپریشن اند کیا جاتا ہے تو اگر تمام بیٹس 1 ہیں تو 1 برآمد ہوتا ہے.

یونٹ نمونہ:

آپریشن نتیجہ
0 اند 0 0
0 اند 1 0
1 اند 0 0
1 اند 1 1

چار بیٹ نمونہ:

آپریشن نتیجہ
1111 اند 0000 0000
1111 اند 0001 0001
1111 اند 0010 0010
1111 اند 0100 0100

بیٹ آپریشن آور

جب ایک جفت بیٹس کو بیٹ آپریشن آور کیا جاتا ہے تو اگر کسی بیٹ 1 ہے تو 1 برآمد ہوتا ہے:

یونٹ نمونہ

آپریشن نتیجہ
0 آور 0 0
0 آور 1 1
1 آور 0 1
1 آور 1 1

چار بیٹ آپریشن:

آپریشن نتیجہ
1111 آور 0000 1111
1111 آور 0001 1111
1111 آور 0010 1111
1111 آور 0100 1111

بیٹ آپریشن ایکس آور

جب ایک جفت بیٹس کو بیٹ آپریشن ایکس آور کیا جاتا ہے تو اگر بیٹس مختلف ہیں تو 1 برآمد ہوتا ہے:

یونٹ نمونہ:

آپریشن نتیجہ
0 ایکس 0 0
0 ایکس 1 1
1 ایکس 0 1
1 ایکس 1 0

چار بیٹ نمونہ:

آپریشن نتیجہ
1111 ایکس 0000 1111
1111 ایکس 0001 1110
1111 ایکس 0010 1101
1111 ایکس 0100 1011

جسٹاگرام بیٹ آپریشن اند (&)

اگر تمام بیٹس 1 ہیں تو بیٹ آپریشن اند آند کا نتیجہ 1 ہوتا ہے:

دهی بیت
5 00000000000000000000000000000101
1 00000000000000000000000000000001
5 اند 1 00000000000000000000000000000001 (1)

مثال

ور اکس = 5 اند 1;

خود کا تجربہ کریں

جسٹاگرام بیٹ آپریشن آر (|)

اگر یکی از صفرها 1 باشد، حرکت OR 1 برمی‌گرداند:

دهی بیت
5 00000000000000000000000000000101
1 00000000000000000000000000000001
5 | 1 00000000000000000000000000000101 (5)

مثال

var x = 5 | 1;

خود کا تجربہ کریں

حرکت XOR (^)

اگر صفرها متفاوت باشند، XOR 1 برمی‌گرداند:

دهی بیت
5 00000000000000000000000000000101
1 00000000000000000000000000000001
5 ^ 1 00000000000000000000000000000100 (4)

مثال

var x = 5 ^ 1;

خود کا تجربہ کریں

حرکت NOT (~)

دهی بیت
5 00000000000000000000000000000101
~5 11111111111111111111111111111010 (-6)

مثال

var x = ~5;

خود کا تجربہ کریں

حرکت چپ به سمت راست (<<)

این یک حرکت چپ به سمت راست با پر کردن صفر است. یک یا چند صفر از سمت راست وارد می‌شود و اولین صفر از سمت چپ خارج می‌شود:

دهی بیت
5 00000000000000000000000000000101
5 << 1 00000000000000000000000000001010 (10)

مثال

var x = 5 << 1;

خود کا تجربہ کریں

حرکت راست به سمت چپ (>>)

این یک حرکت راست به سمت چپ با حفظ نشانه است. یک یا چند صفر از سمت چپ وارد می‌شود و آخرین صفر از سمت راست خارج می‌شود:

دهی بیت
-5 11111111111111111111111111111011
-5 >> 1 11111111111111111111111111111101 (-3)

مثال

var x = -5 >> 1;

خود کا تجربہ کریں

حرکت راست به سمت چپ (>>>)

این یک حرکت راست به سمت چپ با پر کردن صفر است. یک یا چند صفر از سمت چپ وارد می‌شود و آخرین صفر از سمت راست خارج می‌شود:

دهی بیت
5 00000000000000000000000000000101
5 >>> 1 00000000000000000000000000000010 (2)

مثال

var x = 5 >>> 1;

خود کا تجربہ کریں

اعداد صحیح 32 بیتی (اعداد دودویی)

یعنی یک عدد 32 بیتی با یک رقمی به خوبی قابل فهم است:

دوئمینومر نمائش دس کا رقمی
00000000000000000000000000000001 1
00000000000000000000000000000010 2
00000000000000000000000000000100 4
00000000000000000000000000001000 8
00000000000000000000000000010000 16
00000000000000000000000000100000 32
00000000000000000000000001000000 64

بعض اعداد کی اضافی تعداد سے دوئمینومر کا ماڈل نمودار کیا جاسکتا ہے:

دوئمینومر نمائش دس کا رقمی
00000000000000000000000000000101 5 (4 + 1)
00000000000000000000000000101000 40 (32 + 8)
00000000000000000000000000101101 45 (32 + 8 + 4 + 1)

منفی اعداد، اعداد کی دوئمینومر کی کمپلیمنٹ کا ایک اضافہ:

دوئمینومر نمائش دس کا رقمی
00000000000000000000000000000101 5
11111111111111111111111111111011 -5
00000000000000000000000000101000 40
11111111111111111111111111011000 -40
11111111111111111111111111011001 -41

دس کا دوئمینومر تبدیل کریں

مثال

فونکشن دی سی2بن(دی سی){
    رجوع دینا؛ (دی سی>>>0).toString(2);
}

خود کا تجربہ کریں

دوئمینومر کو دس کا تبدیل کریں

مثال

فونکشن بن2دی سی(بائن){
    بائن 2 کو دس کا تبدیل کریں، اس کا رجوع دینا؛
}

خود کا تجربہ کریں