تبدیل مبنا آنلاین

ابزار رایگان دانش‌پذیران کادوس

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

اعداد منفی و مکمل دواعداد اعشاریمبنای ۲ تا ۳۶
مبنای ورودی

برای کار با ابزار، جاوااسکریپت مرورگر را فعال کنید.

باینری مبنای ۲
1111 1111
اکتال مبنای ۸
377
دسیمال مبنای ۱۰
255
هگزادسیمال مبنای ۱۶
FF
مبنای دلخواه
2010

تعداد بیت

پیشوندهای 0b، 0o، 0x و # خودکار شناخته می‌شوند. عدد منفی (-12) و اعشاری (10.625) هم قبول است و ارقام فارسی را هم می‌توانید تایپ کنید.

نمای بیتی عدد

روی هر بیت بزنید تا ۰ و ۱ شود و ببینید عدد چطور عوض می‌شود. زیر هر خانه شماره بیت آمده است.

چند مثال آماده

روی هر مثال بزنید؛ عدد در ابزار قرار می‌گیرد و راه‌حلش پایین صفحه نمایش داده می‌شود.

راه‌حل تشریحی

تبدیل مبنا مرحله‌به‌مرحله

مبنای مقصد راه‌حل
راه‌حل پس از بارگذاری کامل صفحه این‌جا نمایش داده می‌شود: تقسیم‌های متوالی برای رفتن از مبنای ۱۰ به مبنای دیگر، ضرب ارقام در توان‌های مبنا برای رسیدن به مبنای ۱۰ و میانبر گروه‌بندی بیت‌ها بین مبنای ۲، ۸ و ۱۶.
تمرین

خودتان را بسنجید

برای امتحان مبانی کامپیوتر، ICDL یا کلاس برنامه‌نویسی آماده می‌شوید؟ هر روز چند سؤال حل کنید. امتیاز و رکوردتان فقط در همین مرورگر ذخیره می‌شود.

سطح سؤال

سؤال پس از بارگذاری صفحه ساخته می‌شود.

0پاسخ درست
0درست پشت‌سرهم
0بهترین رکورد

پاسخ را بدون پیشوند بنویسید (مثلاً 1010 یا FF). صفرهای اول عدد، فاصله و کوچک یا بزرگ بودن حروف مهم نیست. اگر اشتباه کردید، «راه‌حل این سؤال» آن را در ابزار بالا باز می‌کند.

جدول مرجع

جدول تبدیل ۰ تا ۱۵ و توان‌های ۲

این دو جدول را حفظ کنید؛ بیشتر تبدیل‌های امتحانی با همین‌ها چند ثانیه‌ای حل می‌شوند. روی هر سطر بزنید تا در ابزار باز شود.

دسیمالباینری (۴ بیت)اکتالهگز
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F
توانمقدارباینریکاربرد
2011
21210
224100
2381000
241610000یک رقم هگز (۴ بیت)
2532100000
26641000000
2712810000000
28256100000000یک بایت (۸ بیت)
2101,02410000000000کیلوبایت (KiB)
21665,5361 + 16 صفرعدد ۱۶ بیتی
2201,048,5761 + 20 صفرمگابایت (MiB)
22416,777,2161 + 24 صفررنگ‌های RGB
2301,073,741,8241 + 30 صفرگیگابایت (GiB)
2324,294,967,2961 + 32 صفرعدد ۳۲ بیتی (IPv4)
آموزش

مبنای عدد چیست؟

مبنا (پایه عددی) یعنی برای نوشتن عدد از چند رقم استفاده می‌کنیم. ما هر روز با مبنای ۱۰ کار می‌کنیم: ده رقم ۰ تا ۹، و ارزش هر رقم ده برابر رقم سمت راستش است. کامپیوتر اما فقط دو حالت را می‌شناسد، روشن و خاموش؛ برای همین همه‌چیز در حافظه به‌صورت مبنای ۲ ذخیره می‌شود.

0 1

باینری (مبنای ۲)

فقط دو رقم ۰ و ۱. هر رقم یک «بیت» است و هشت بیت یک «بایت».

زبان سخت‌افزار، حافظه، شبکه و عملگرهای بیتی
0 … 7

اکتال (مبنای ۸)

هشت رقم ۰ تا ۷. هر رقم اکتال دقیقاً سه بیت است.

دسترسی فایل‌ها در لینوکس، مثل chmod 755
0 … 9

دسیمال (مبنای ۱۰)

همان اعداد روزمره. برای کامپیوتر باید به مبنای ۲ تبدیل شود.

ورودی و خروجی برنامه‌ها، محاسبات روزمره
0 … F

هگزادسیمال (مبنای ۱۶)

ارقام ۰ تا ۹ و حروف A تا F (یعنی ۱۰ تا ۱۵). هر رقم هگز دقیقاً چهار بیت است.

رنگ‌های وب (#F97207 نارنجی کادوس)، آدرس حافظه، MAC

قانون اصلی: ارزش مکانی

در هر مبنا، ارزش هر رقم برابر است با خود رقم ضرب در مبنا به توان جایگاهش؛ جایگاه‌ها از سمت راست و از صفر شمرده می‌شوند. مثلاً 1011 در مبنای ۲ یعنی 1×8 + 0×4 + 1×2 + 1×1 = 11.

برای رفتن از مبنای ۱۰ به مبنای دیگر، عدد را پشت‌سرهم بر مبنای مقصد تقسیم می‌کنیم و باقی‌مانده‌ها را از آخر به اول کنار هم می‌نویسیم. بین مبنای ۲، ۸ و ۱۶ هم میانبر داریم: بیت‌ها را از سمت راست سه‌تا‌سه‌تا (اکتال) یا چهارتا‌چهارتا (هگز) جدا کنید.

اشتباه‌های رایج در امتحان

  • باقی‌مانده‌های تقسیم را از بالا به پایین خواندن؛ ترتیب درست از آخرین باقی‌مانده به اولی است.
  • شمردن جایگاه‌ها از ۱؛ رقم سمت راست در جایگاه صفر است و ارزشش مبنا به توان صفر، یعنی ۱.
  • نوشتن «10» یا «15» به‌جای A و F در هگز؛ هر جایگاه فقط یک رقم می‌گیرد.
  • در میانبر گروه‌بندی، گروه سمت چپ را با صفر کامل نکردن (مثلاً 101101 → 0010 1101 = 2D).

تبدیل مبنا در پایتون

پایتون برای همه این تبدیل‌ها تابع آماده دارد. همین منطق تقسیم و ارزش مکانی است که پشت این تابع‌ها کار می‌کند.

bin(255)                   # '0b11111111'
oct(255)                   # '0o377'
hex(255)                   # '0xff'
int("ff", 16)              # 255
int("101101", 2)           # 45
int("0x2AF", 0)            # 687  (prefix decides)
format(5, "08b")           # '00000101'
format(-5 & 0xFF, "08b")   # '11111011'

می‌خواهید خودتان چنین ابزاری بنویسید؟ دوره آموزش پایتون کادوس نقطه شروع است. چرا 0.1 + 0.2 در برنامه‌نویسی دقیقاً 0.3 نمی‌شود؟ جوابش در همین مبناهاست: راز اعداد ممیز شناور.

پرسش‌های پرتکرار

سؤال‌های رایج درباره تبدیل مبنا

تبدیل مبنا یعنی چه؟

تبدیل مبنا یعنی نوشتن یک عدد با ارقام مبنای دیگر، بدون این‌که مقدارش عوض شود. مثلاً عدد ۴۵ در مبنای ۱۰ همان 101101 در مبنای ۲ و 2D در مبنای ۱۶ است. این ابزار عدد را از هر مبنای ۲ تا ۳۶ به باینری، اکتال، دسیمال، هگزادسیمال و هر مبنای دلخواه دیگر می‌برد و راه‌حلش را هم نشان می‌دهد.

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

عدد را پشت‌سرهم بر ۲ تقسیم کنید تا خارج‌قسمت صفر شود و باقی‌مانده‌ها را از آخر به اول کنار هم بنویسید. مثلاً ۱۳ ÷ ۲ = ۶ باقی‌مانده ۱، ۶ ÷ ۲ = ۳ باقی‌مانده ۰، ۳ ÷ ۲ = ۱ باقی‌مانده ۱ و ۱ ÷ ۲ = ۰ باقی‌مانده ۱؛ پس ۱۳ در باینری می‌شود 1101. جدول همین تقسیم‌ها در بخش راه‌حل مرحله‌به‌مرحله برای هر عددی ساخته می‌شود.

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

هر رقم را در ۲ به توان جایگاهش ضرب کنید و حاصل‌ها را جمع بزنید؛ جایگاه‌ها از سمت راست و از صفر شمرده می‌شوند. مثلاً 1101 = 1×8 + 1×4 + 0×2 + 1×1 = 13. همین روش برای هر مبنای دیگری هم کار می‌کند؛ فقط به‌جای ۲، خود آن مبنا را بگذارید.

هگزادسیمال چیست و چرا برنامه‌نویس‌ها از آن استفاده می‌کنند؟

هگزادسیمال یا مبنای ۱۶ از ارقام ۰ تا ۹ و حروف A تا F (به معنی ۱۰ تا ۱۵) استفاده می‌کند. هر رقم هگز دقیقاً چهار بیت است، پس هر بایت با دو رقم نوشته می‌شود و خواندن عددهای باینری طولانی راحت می‌شود. رنگ‌های وب مثل #F97207، آدرس‌های حافظه و آدرس MAC کارت شبکه به همین شکل نوشته می‌شوند.

مکمل دو چیست؟

مکمل دو روشی است که کامپیوتر با آن اعداد منفی را در تعداد بیت ثابت ذخیره می‌کند: قدرمطلق عدد را در همان تعداد بیت بنویسید، همه بیت‌ها را برعکس کنید و یک واحد اضافه کنید. مثلاً ۵- در ۸ بیت می‌شود 11111011. در ابزار، «تعداد بیت» را روی ۸، ۱۶، ۳۲ یا ۶۴ بگذارید تا شکل مکمل دو و هر دو تفسیر علامت‌دار و بدون علامت را ببینید.

آیا این ابزار اعداد اعشاری را هم تبدیل می‌کند؟

بله. بخش صحیح با تقسیم‌های متوالی و بخش اعشاری با ضرب‌های متوالی تبدیل می‌شود. بعضی کسرها در مبنای ۲ تمام نمی‌شوند؛ مثلاً 0.1 در باینری 0.0(0011) است و ارقام داخل پرانتز بی‌نهایت بار تکرار می‌شوند. دلیل این‌که 0.1 + 0.2 در برنامه‌نویسی دقیقاً 0.3 نمی‌شود هم همین است.

بزرگ‌ترین عددی که می‌شود تبدیل کرد چقدر است؟

محدودیت عملی ندارد؛ ابزار با اعداد صحیح بزرگ کار می‌کند و عددهای صدها رقمی را هم دقیق تبدیل می‌کند. فقط جدول راه‌حل برای عددهای خیلی طولانی خلاصه می‌شود و نمای بیتی تا ۶۴ بیت نمایش داده می‌شود.

اطلاعات من جایی ذخیره می‌شود؟

نه. همه محاسبه‌ها در مرورگر خودتان انجام می‌شود و چیزی به سرور فرستاده نمی‌شود. فقط امتیاز بخش تمرین در همین مرورگر نگه داشته می‌شود تا دفعه بعد رکوردتان را ببینید. با «کپی لینک همین تبدیل» می‌توانید عدد و تنظیمات را برای دوستان یا استادتان بفرستید.

دپارتمان کامپیوتر و برنامه‌نویسی کادوس

این ابزار را برای دانش‌پذیران خودمان ساختیم

پیشنهاد ابزار تازه دارید یا درباره دوره‌های کامپیوتر و برنامه‌نویسی سؤال دارید؟ با دپارتمان کامپیوتر کادوس تماس بگیرید.

شعبه مرکزی (خیابان لاکانی)

رشت، خیابان لاکانی، ابتدای خیابان صندوق عدالت · ساعت کاری ۸ تا ۲۱

۰۱۳۹۱۰۰۲۳۴۳صفحه شعبه

شعبه مسکن مهر

رشت، مسکن مهر، میدان دوم، مهر ۶۶

۰۱۳۹۱۰۰۲۳۲۳صفحه شعبه