این ابزار درست کار نمی‌کند؟

دربارهٔ ابزار «عملیات بیتی روی اعداد آنلاین»

این ابزار عملیات سطح بیت را روی دو عدد صحیح انجام می‌دهد: AND، OR، XOR، NOT، شیفت چپ، شیفت راست، و شیفت محاسباتی. اعداد را به صورت دهدهی، شانزده‌شانزدهی، هشت‌هشتی یا دودویی وارد کنید، و ماشین‌حساب نتیجه را در تمام چهار مبنا به علاوه الگوی بیت برمی‌گرداند.

عملیات بیتی در برنامه‌نویسی بنیادی هستند، به ویژه در سیستم‌های سطح پایین، کد تعبیه‌شده، گرافیک، شبکه و رمزنگاری. همچنین برای ذخیره‌سازی فشرده پرچم/مجوز که هر بیت یک ویژگی بولی از یک شیء را نشان می‌دهد، مفید هستند.

این ابزار برای دانش‌آموزانی که دستکاری بیت را می‌آموزند، توسعه‌دهندگانی که ماسک‌ها و مجوزها را عیب‌یابی می‌کنند، و مهندسانی که تنظیمات رجیستر سخت‌افزار را تأیید می‌کنند، ایده‌آل است.

چطور از این ابزار استفاده کنم؟

چطور یک عملیات بیتی روی دو عدد صحیح اجرا کنم؟

  1. A و B را وارد کنید

    «Integer A» و «Integer B» دو operand هستند. ابزار هرکدام را قبل از اجرا با `Math.trunc` به عدد صحیح می‌برد — ورودی کسری اعشار خود را از دست می‌دهد.

  2. عملیات را انتخاب کنید

    «Operation» از `and` (`A & B`)، `or` (`A | B`)، `xor` (`A ^ B`)، `shl` (`A << B`، شیفت چپ)، `shr` (`A >> B`، شیفت راست) انتخاب می‌کند.

  3. «اجرا» را بزنید

    خروجی یک فیلد `result` — عدد صحیح signed 32-bit. عملگرهای بیتی JavaScript هر دو طرف را به twos-complement 32-bit وادار می‌کنند، پس هر چیزی خارج [-2^31, 2^31 − 1] wrap می‌شود.

  4. شیفت B به‌عنوان شمار

    برای `shl`/`shr`، فقط ۵ بیت پایین B به‌عنوان مقدار شیفت استفاده می‌شود — پس شیفت ۳۲ مثل شیفت ۰ است. این رفتار JavaScript است، باگ نیست.