برای کار با ابزار، جاوااسکریپت مرورگر را فعال کنید.
پیشوندهای 0b، 0o، 0x و # خودکار شناخته میشوند. عدد منفی (-12) و اعشاری (10.625) هم قبول است و ارقام فارسی را هم میتوانید تایپ کنید.
عدد را در هر مبنایی بنویسید؛ معادل باینری، اکتال، دسیمال و هگزادسیمال همان لحظه نمایش داده میشود، با راهحل مرحلهبهمرحله برای تمرین و امتحان.
برای کار با ابزار، جاوااسکریپت مرورگر را فعال کنید.
پیشوندهای 0b، 0o، 0x و # خودکار شناخته میشوند. عدد منفی (-12) و اعشاری (10.625) هم قبول است و ارقام فارسی را هم میتوانید تایپ کنید.
روی هر بیت بزنید تا ۰ و ۱ شود و ببینید عدد چطور عوض میشود. زیر هر خانه شماره بیت آمده است.
روی هر مثال بزنید؛ عدد در ابزار قرار میگیرد و راهحلش پایین صفحه نمایش داده میشود.
لینک، عدد و تنظیمات فعلی را نگه میدارد؛ برای فرستادن در گروه کلاس یا پرسیدن از استاد.
برای امتحان مبانی کامپیوتر، ICDL یا کلاس برنامهنویسی آماده میشوید؟ هر روز چند سؤال حل کنید. امتیاز و رکوردتان فقط در همین مرورگر ذخیره میشود.
سؤال پس از بارگذاری صفحه ساخته میشود.
پاسخ را بدون پیشوند بنویسید (مثلاً 1010 یا FF). صفرهای اول عدد، فاصله و کوچک یا بزرگ بودن حروف مهم نیست. اگر اشتباه کردید، «راهحل این سؤال» آن را در ابزار بالا باز میکند.
این دو جدول را حفظ کنید؛ بیشتر تبدیلهای امتحانی با همینها چند ثانیهای حل میشوند. روی هر سطر بزنید تا در ابزار باز شود.
| دسیمال | باینری (۴ بیت) | اکتال | هگز |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
| توان | مقدار | باینری | کاربرد |
|---|---|---|---|
| 20 | 1 | 1 | |
| 21 | 2 | 10 | |
| 22 | 4 | 100 | |
| 23 | 8 | 1000 | |
| 24 | 16 | 10000 | یک رقم هگز (۴ بیت) |
| 25 | 32 | 100000 | |
| 26 | 64 | 1000000 | |
| 27 | 128 | 10000000 | |
| 28 | 256 | 100000000 | یک بایت (۸ بیت) |
| 210 | 1,024 | 10000000000 | کیلوبایت (KiB) |
| 216 | 65,536 | 1 + 16 صفر | عدد ۱۶ بیتی |
| 220 | 1,048,576 | 1 + 20 صفر | مگابایت (MiB) |
| 224 | 16,777,216 | 1 + 24 صفر | رنگهای RGB |
| 230 | 1,073,741,824 | 1 + 30 صفر | گیگابایت (GiB) |
| 232 | 4,294,967,296 | 1 + 32 صفر | عدد ۳۲ بیتی (IPv4) |
مبنا (پایه عددی) یعنی برای نوشتن عدد از چند رقم استفاده میکنیم. ما هر روز با مبنای ۱۰ کار میکنیم: ده رقم ۰ تا ۹، و ارزش هر رقم ده برابر رقم سمت راستش است. کامپیوتر اما فقط دو حالت را میشناسد، روشن و خاموش؛ برای همین همهچیز در حافظه بهصورت مبنای ۲ ذخیره میشود.
فقط دو رقم ۰ و ۱. هر رقم یک «بیت» است و هشت بیت یک «بایت».
زبان سختافزار، حافظه، شبکه و عملگرهای بیتیهشت رقم ۰ تا ۷. هر رقم اکتال دقیقاً سه بیت است.
دسترسی فایلها در لینوکس، مثل chmod 755همان اعداد روزمره. برای کامپیوتر باید به مبنای ۲ تبدیل شود.
ورودی و خروجی برنامهها، محاسبات روزمرهارقام ۰ تا ۹ و حروف A تا F (یعنی ۱۰ تا ۱۵). هر رقم هگز دقیقاً چهار بیت است.
رنگهای وب (#F97207 نارنجی کادوس)، آدرس حافظه، MACدر هر مبنا، ارزش هر رقم برابر است با خود رقم ضرب در مبنا به توان جایگاهش؛ جایگاهها از سمت راست و از صفر شمرده میشوند. مثلاً 1011 در مبنای ۲ یعنی 1×8 + 0×4 + 1×2 + 1×1 = 11.
برای رفتن از مبنای ۱۰ به مبنای دیگر، عدد را پشتسرهم بر مبنای مقصد تقسیم میکنیم و باقیماندهها را از آخر به اول کنار هم مینویسیم. بین مبنای ۲، ۸ و ۱۶ هم میانبر داریم: بیتها را از سمت راست سهتاسهتا (اکتال) یا چهارتاچهارتا (هگز) جدا کنید.
پایتون برای همه این تبدیلها تابع آماده دارد. همین منطق تقسیم و ارزش مکانی است که پشت این تابعها کار میکند.
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 نمیشود؟ جوابش در همین مبناهاست: راز اعداد ممیز شناور.
اولین زبان برنامهنویسی برای شروع؛ از متغیر و حلقه تا پروژه واقعی.
صفحه دوره پایتون دورهمهارتهای هفتگانه کامپیوتر؛ مبانی فناوری اطلاعات، ویندوز، ورد و اکسل.
صفحه دوره ICDL دپارتمانپایتون، طراحی سایت، وردپرس و دورههای تخصصی دپارتمان کامپیوتر و برنامهنویسی.
همه دورههای برنامهنویسیتبدیل مبنا یعنی نوشتن یک عدد با ارقام مبنای دیگر، بدون اینکه مقدارش عوض شود. مثلاً عدد ۴۵ در مبنای ۱۰ همان 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 نمیشود هم همین است.
محدودیت عملی ندارد؛ ابزار با اعداد صحیح بزرگ کار میکند و عددهای صدها رقمی را هم دقیق تبدیل میکند. فقط جدول راهحل برای عددهای خیلی طولانی خلاصه میشود و نمای بیتی تا ۶۴ بیت نمایش داده میشود.
نه. همه محاسبهها در مرورگر خودتان انجام میشود و چیزی به سرور فرستاده نمیشود. فقط امتیاز بخش تمرین در همین مرورگر نگه داشته میشود تا دفعه بعد رکوردتان را ببینید. با «کپی لینک همین تبدیل» میتوانید عدد و تنظیمات را برای دوستان یا استادتان بفرستید.
پیشنهاد ابزار تازه دارید یا درباره دورههای کامپیوتر و برنامهنویسی سؤال دارید؟ با دپارتمان کامپیوتر کادوس تماس بگیرید.
رشت، خیابان لاکانی، ابتدای خیابان صندوق عدالت · ساعت کاری ۸ تا ۲۱
۰۱۳۹۱۰۰۲۳۴۳صفحه شعبه