اپراتورهای بیتی در JavaScript
یادگیری JavaScriptجاوا اسکریپت از 32 بیت اعداد بیتی استفاده می کند
اعداد ذخیره شده جاوا اسکریپت ها 64 بیتی به صورت اعداد شناور ذخیره می شوند، اما تمام عملیات بیتی بر روی 32 بیت اعداد دودویی انجام می شود.
قبل از انجام عمل بیتی، جاوا اسکریپت اعداد را به 32 بیت عدد صحیح تبدیل می کند.
پس از انجام عمل بیتی، نتیجه به اعداد جاوااسکریپت 64 بیت تبدیل می شود.
مثالهای فوق از اعداد دودویی 4 بیت بدون علامت استفاده می کنند. به دلیل این ~ 5 بر میگرداند 10.
از آنجا که جاوا اسکریپت از 32 بیت عدد صحیح امضا شده استفاده می کند، 10 بازگشت نخواهد داشت. بازگشت آن 6- است.
00000000000000000000000000000101 (5)
11111111111111111111111111111010 (~5 = 6-)
یک عدد صحیح امضا شده از بیت چپ به عنوان علامت منفی استفاده می کند.
AND
هنگامی که یک AND بر روی یک جفت بیت انجام می شود، اگر هر دو بیت 1 باشند، آن را 1 می گرداند.
مثال یک بیت:
مثال 4 بیت:
OR
هنگامی که یک OR در یک جفت بیت انجام می شود، اگر یکی از بیت ها 1 باشد 1 بر میگرداند:
مثال یک بیت:
مثال 4 بیت:
XOR
هنگامی که XOR بیتی بر روی یک جفت بیت انجام می شود، اگر بیت ها متفاوت باشند، آن را 1 می گرداند:
مثال یک بیت:
مثال 4 بیت:
AND (&) در JavaScript
1 برمیگردد فقط اگر هر دو بیت 1 باشد:
var x = 5 & 1;
مشاهده مثالOR (|) در JavaScript
اگر یکی از بیت ها 1 باشد نتیجه را 1 بر میگرداند.
var x = 5 | 1;
مشاهده مثالXOR (^) در JavaScript
اگر بیت ها متفاوت باشد نتیجه را 1 بر میگرداند.
var x = 5 ^ 1;
مشاهده مثالNOT (~)در JavaScript
var x = ~5;
مشاهده مثالLeft Shift (<<) در JavaScript
این تغییر صفر پرش سمت چپ است. یک یا چند بیت صفر در سمت راست فشار داده می شوند و بیت های سمت چپ سقوط می کنند:
var x = 5 << 1;
مشاهده مثالRight Shift (>>)در JavaScript
این یک علامت است که تغییر حق را حفظ می کند. کپیهای بیت چپ از سمت چپ به سمت پایین حرکت می کنند و بیت های سمت راست سقوط می کنند:
var x = -5 >> 1;
مشاهده مثالRight Shift (>>>) در JavaScript
این تغییر شکل صفر است. یک یا چند بیت صفر از سمت چپ به سمت پایین حرکت می کنند و بیت های سمت راست سقوط می کنند:
var x = 5 >>> 1;
مشاهده مثالاعداد باینری
اعداد دودویی تنها با یک مجموعه بیتی قابل درک است:
تنظیم چند بیت نشان دهنده الگوی باینری است:
اعداد دوتایی جاوا اسکریپت در فرمت مکمل ذخیره می شوند.
این به این معنی است که یک عدد منفی، Not است از شماره به علاوه 1
تبدیل دهدهی به دودویی
function dec2bin(dec){
return (dec >>> 0).toString(2);
}
مشاهده مثالتبدیل دودویی به دهدهی
function bin2dec(bin){
return parseInt(bin, 2).toString(10);
}
مشاهده مثال
نظر شما
>