کدگذاری 🔒 در مرورگر اجرا می‌شود — داده‌ای ارسال نمی‌شود

مبدل مبنای اعداد

تبدیل بین دودویی، دهدهی، هگز، هشت‌تایی و هر مبنا تا ۳۶، و تبدیل متن به باینری یا هگز و برعکس.

مبدل مبنای اعداد — دودویی، دهدهی، هگز و هشت‌تایی

یک عدد تایپ کنید و آن را همزمان در مبنای دودویی (باینری)، هشت‌تایی، دهدهی و شانزده‌شانزدهی (هگز) ببینید، به‌علاوهٔ هر مبنای دیگری از ۲ تا ۳۶. پیشوندها شناخته می‌شوند، پس 0xFF، 0b1010 و 0o17 بی‌دردسر کار می‌کنند؛ عددهایی با هر اندازه‌ای دقیق تبدیل می‌شوند و برای عدد منفی، مکمل دو آن هم نمایش داده می‌شود. زبانهٔ دوم متن را به بایت‌های دودویی یا هگز تبدیل می‌کند و برعکس.

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

روش تبدیل یک عدد

  1. عدد را تایپ کنید. وقتی مبنای ورودی روی خودکار (0x، 0b، 0o یا دهدهی) است، پیشوند مبنا را تعیین می‌کند؛ در غیر این صورت مبنا را خودتان انتخاب کنید.
  2. ردیف‌های دودویی، هشت‌تایی، دهدهی و شانزده‌شانزدهی را بخوانید که همزمان با تایپ به‌روز می‌شوند.
  3. برای خوانایی بیشتر گروه‌بندی رقم‌ها را تیک بزنید و با نمایش مبنای دیگر هر مبنایی تا ۳۶ را اضافه کنید.
  4. هر ردیف را با دکمهٔ خودش کپی کنید.

چهار مبنای رایج

مبنارقم‌هامثال (۲۵۵ دهدهی)کجا می‌بینیدش
دودویی (۲)۰ و ۱11111111بیت‌ها، پرچم‌ها، ماسک‌ها، شبکه
هشت‌تایی (۸)۰ تا ۷377مجوزهای فایل در یونیکس، مثل ۷۵۵
دهدهی (۱۰)۰ تا ۹255عددهای روزمره
شانزده‌شانزدهی (۱۶)۰ تا ۹ و A تا FFFرنگ‌ها، نشانی‌های حافظه، دامپ بایت‌ها، هش‌ها

تبدیل چطور انجام می‌شود

یک عدد در مبنای b مجموع رقم‌هایی است که هر کدام در توانی از b ضرب شده‌اند. عدد دودویی 101010 برابر است با ۱×۳۲ + ۰×۱۶ + ۱×۸ + ۰×۴ + ۱×۲ + ۰×۱ = ۴۲. در جهت عکس، پشت سر هم بر مبنا تقسیم می‌کنید و باقی‌مانده‌ها را از آخر به اول می‌خوانید: ۴۲ ÷ ۲ باقی‌ماندهٔ ۰ دارد، ۲۱ ÷ ۲ باقی‌ماندهٔ ۱، ۱۰ ÷ ۲ باقی‌ماندهٔ ۰، ۵ ÷ ۲ باقی‌ماندهٔ ۱، ۲ ÷ ۲ باقی‌ماندهٔ ۰ و ۱ ÷ ۲ باقی‌ماندهٔ ۱؛ نتیجه 101010 است. هگز و دودویی پیوند نزدیکی دارند، چون ۱۶ برابر ۲ به توان ۴ است: هر رقم هگز دقیقاً چهار بیت است، پس F همان 1111 و 2A همان 0010 1010 است.

بدون محدودیت اندازه

بسیاری از مبدل‌ها عددهای بزرگ‌تر از ۲ به توان ۵۳ را، یعنی بزرگ‌ترین عدد صحیحی که عدد JavaScript دقیق نگه می‌دارد، بی‌صدا گرد می‌کنند یا در ۶۴ بیت متوقف می‌شوند. این ابزار از عددهای صحیح با دقت دلخواه استفاده می‌کند، پس یک شناسهٔ ۱۲۸ بیتی، یک کلید ۲۵۶ بیتی نوشته‌شده به هگز یا ۲ به توان ۶۴ (18446744073709551616) رقم‌به‌رقم تبدیل می‌شود. خط زیر نتیجه‌ها طول بیتی و طول بایتی عددی را که تایپ کرده‌اید نشان می‌دهد.

عددهای منفی و مکمل دو

برای یک عدد منفی، ردیف‌ها مقدار را با علامت منفی نشان می‌دهند و دو ردیف اضافه نشان می‌دهند کامپیوتر آن را چطور ذخیره می‌کند: مکمل دو آن در کوچک‌ترین عرض رایجی که عدد در آن جا می‌شود، یعنی ۸، ۱۶، ۳۲، ۶۴ یا ۱۲۸ بیت. -1 در ۸ بیت برابر 11111111 یا FF است و -129 به ۱۶ بیت نیاز دارد که در آن FF7F می‌شود. این همان چیزی است که وقتی یک عدد صحیح علامت‌دار منفی است، در دیباگر یا hex dump می‌بینید.

تبدیل متن به باینری و برعکس

زبانهٔ متن متن را به بایت‌هایی که آن را در UTF-8 نمایش می‌دهند تبدیل می‌کند. متن به عدد را انتخاب کنید، یکی از دودویی، شانزده‌شانزدهی، دهدهی یا هشت‌تایی را برگزینید؛ آن‌وقت Hi به 01001000 01101001 یا 48 69 تبدیل می‌شود. حروف خارج از الفبای پایهٔ انگلیسی هر کدام دو تا چهار بایت می‌گیرند، پس é برابر C3 A9 است. عدد به متن در جهت عکس کار می‌کند و بایت‌هایی را می‌پذیرد که با فاصله یا ویرگول جدا شده‌اند یا در گروه‌هایی با طول ثابت پشت سر هم آمده‌اند.

نکته‌های ورودی

  • فاصله، زیرخط و آپاستروف داخل عدد نادیده گرفته می‌شوند، پس 1_000_000 و FF FF هر دو کار می‌کنند.
  • رقم‌های بزرگ‌تر از ۹ حروف A تا Z هستند، بزرگ یا کوچک؛ مبناهای تا ۳۶ این‌طور نوشته می‌شوند.
  • فقط عددهای صحیح تبدیل می‌شوند. کسرهایی مثل ۰٫۱ اغلب در مبنای دیگر شکل دقیقی ندارند، پس هر نتیجه‌ای گرد می‌شد.
  • رقمی که در مبنای انتخاب‌شده وجود ندارد، مثل ۲ در دودویی، به‌جای اینکه نادیده گرفته شود گزارش می‌شود.

ابزارهای مرتبط

برای رنگ‌هایی که به هگز نوشته شده‌اند، مبدل رنگ #FF8800 را به RGB، HSL و قالب‌های دیگر تبدیل می‌کند. برای تبدیل کل فایل یا رشته به Base64 به‌جای دودویی یا هگز، از کدگذار Base64 استفاده کنید. صفحه‌های کاربردی این مبدل را برای یک کار مشخص باز می‌کنند: تبدیل باینری به دسیمال، تبدیل دسیمال به باینری، تبدیل هگز به دسیمال و تبدیل متن به باینری.