Skip to main content
🟢 Beginner

Binary to Decimal Converter

Convert binary numbers to decimal and decimal to binary instantly. Supports up to 64-bit numbers. This free converter gives instant, accurate results.

چگونگی تبدیل دودویی به دسیمی

دودویی (پایه 2) فقط از اعداد 0 و 1 استفاده می‌کند. هر موقعیت یک قدرت از 2 را نشان می‌دهد که از راست به چپ افزایش می‌یابد. برای تبدیل دودویی به دسیمی، هر رقم دودویی را با ارزش جایگاه آن ضرب کنید و نتایج را جمع کنید.

مثال: تبدیل 1011₂ به دسیمی

برای تبدیل دسیمی به دودویی، به طور تکراری توسط 2 تقسیم کنید و از پایین به بالا رمانده‌ها را ثبت کنید. 11 ÷ 2 = 5 R1، 5 ÷ 2 = 2 R1، 2 ÷ 2 = 1 R0، 1 ÷ 2 = 0 R1 → رمانده‌ها را از بالا به پایین بخوانید: 1011.

این سیستم نشانگری موقعیت‌دار همانند دسیمی — فقط با پایه‌ای متفاوت — کار می‌کند. در دسیمی (پایه 10)، عدد 347 به این صورت است: 3 × 10² + 4 × 10¹ + 7 × 10⁰ = 300 + 40 + 7. دودویی با همان اصل کار می‌کند اما با قدرت‌های 2 بجای قدرت‌های 10.

مرجع ارزش‌های جایگاه دودویی

بایت 8 بیت واحد بنیادین ذخیره‌سازی رایانه است. جدول کامل ارزش‌های جایگاه برای اعداد 8 بیتی (0–255) را در زیر می‌بینید:

جایگاه بیتپاور 2مقدار دسیمی
بیت 7 (MSB)2⁷128
بیت 62⁶64
بیت 52⁵32
بیت 42⁴16
بیت 38
بیت 24
بیت 12
بیت 0 (LSB)2⁰1

یک بایت می‌تواند هر مقدار از 0 (00000000₂) تا 255 (11111111₂) را نشان دهد. دو بایت (16 بیت) 0–65,535 را پوشش می‌دهد. چهار بایت (32 بیت) 0–4,294,967,295 را پوشش می‌دهد.

جدول قدرت‌های 2 گسترش‌یافته

برای برنامه‌نویسان و دانشمندان رایانه، دانستن قدرت‌های 2 تا 2⁶⁴ برای درک آدرس‌دهی حافظه، نوع داده‌ها و محدودیت‌های سیستم ضروری است:

پاورمقدار دسیمیمعنی
2⁰1واحد کوچک‌ترین (1 بیت)
2⁸256رنج یک بایت (0–255)
2¹⁰1,0241 کی‌بی (کبایبی)
2¹⁶65,536رنج 16 بیتی; محدودیت پورت TCP
2²⁰1,048,5761 مگابایتی (مبایبی)
2²⁴16,777,216رنگ 24 بیتی (16.7 میلیون رنگ)
2³⁰1,073,741,8241 گیگابایتی (گیگابایبی)
2³²4,294,967,296رنج آدرس 32 بیتی; حداکثر IPv4
2⁴⁰1,099,511,627,7761 تگابایتی (تگابایبی)
2⁶⁴18,446,744,073,709,551,616رنج آدرس 64 بیتی; پردازنده‌های مدرن

توجه کنید که بین پیش‌واژه‌های دودویی (کی‌بی، مگابایتی، گیگابایتی — قدرت‌های 2) و پیش‌واژه‌های SI (کیلوبایت، مگابایت، گیگابایت — قدرت‌های 10) تفاوت وجود دارد. 1 گیگابایت = 1,000,000,000 بایت؛ 1 گیگابایتی = 1,073,741,824 بایت. این ~7% اختلاف باعث می‌شود که یک هارد دیسک 500 گیگابایتی به عنوان ~465 گیگابایتی در سیستم‌عامل شما نشان داده شود (که معمولاً از واحدهای دودویی داخلی استفاده می‌کند).

ارزش‌های دودویی، هگزادسیمال و اکتال در رایانه

برنامه‌نویسان از پایه‌های مختلف عدد به دلیل زمینه استفاده متفاوت استفاده می‌کنند. در زیر می‌توانید ببینید که چگونه یک عدد در هر یک از این سیستم‌ها نشان داده می‌شود:

دسیمیدودوییهگزادسیمالاکتالمورد استفاده
000000x00o0صفر / بایت خالی
701110x70o7پذیرش Unix (rwx)
1010100xA0o12
1511110xF0o17حداکثر 4 بیت (نایب)
16100000x100o20
12711111110x7F0o177حداکثر 8 بیت امضا شده
255111111110xFF0o377حداکثر 8 بیت بدون امضا
5111111111110x1FF0o777پذیرش Unix rwxrwxrwx
102311111111110x3FF0o1777حداکثر 10 بیت (ADC)

هگزادسیمال به دلیل این که هر حرف هگزادسیمال به طور دقیق 4 بیت دودویی را نشان می‌دهد، شایع‌ترین پیش‌واژه برای دودویی است. اکتال 3 بیت را به هر حرف نشان می‌دهد و بیشتر برای پذیرش Unix (مثلاً chmod 755 = 111 101 101 در دودویی = rwxr-xr-x) استفاده می‌شود.

مقایسه دودویی، هگزادسیمال و اکتال

برنامه‌نویسان از پایه‌های مختلف عدد به دلیل زمینه استفاده متفاوت استفاده می‌کنند. در زیر می‌توانید ببینید که چگونه یک عدد در هر یک از این سیستم‌ها نشان داده می‌شود:

دسیمیدودوییهگزادسیمالاکتالمورد استفاده
000000x00o0صفر / بیت خالی
701110x70o7پذیرش Unix (rwx)
1010100xA0o12
1511110xF0o17حداکثر 4 بیت (نایب)
16100000x100o20
12711111110x7F0o177حداکثر 8 بیت امضا شده
255111111110xFF0o377حداکثر 8 بیت بدون امضا
5111111111110x1FF0o777پذیرش Unix rwxrwxrwx
102311111111110x3FF0o1777حداکثر 10 بیت (ADC)

هگزادسیمال به دلیل این که هر حرف هگزادسیمال به طور دقیق 4 بیت دودویی را نشان می‌دهد، شایع‌ترین پیش‌واژه برای دودویی است. اکتال 3 بیت را به هر حرف نشان می‌دهد و بیشتر برای پذیرش Unix (مثلاً chmod 755 = 111 101 101 در دودویی = rwxr-xr-x) استفاده می‌شود.

اعداد باینری امضا شده (دو کمکی)

رایانه ها اعداد منفی را با استفاده از دو کمکی — استانداردی که توسط IEEE و توسط پردازنده های مدرن تقریباً همه استفاده می شود — نشان می دهند. در یک سیستم دو کمکی 8 بیتی:

باینریعددی بدون علامتاعداد منفی (دو کمکی)
0000000000
000000011+1
01111111127+127 (بیشترین مثبت)
10000000128−128 (کمترین منفی)
10000001129−127
11111110254−2
11111111255−1

برای منفی کردن یک عدد در دو کمکی: تمام بیت ها را معکوس کنید و 1 را اضافه کنید. برای مثال، +5 = 00000101 → معکوس → 11111010 → 1 اضافه کنید → 11111011 = −5.

محدوده های رایج برای انواع صحیح:

نوعبیت هارنج بدون علامترنج با علامت
بایت / uint880 تا 255−128 تا +127
کوتاه / int16160 تا 65,535−32,768 تا +32,767
صفر / int32320 تا 4,294,967,295−2,147,483,648 تا +2,147,483,647
طولانی / int64640 تا 18.4 × 10¹⁸−9.2 × 10¹⁸ تا +9.2 × 10¹⁸

باینری در فناوری روزمره

باینری بنیان تمام محاسبات مدرن است زیرا ترانزیستورها دو حالت پایدار (فعال/غیرفعال، 1/0) دارند. کاربردهای کلیدی:

درک باینری به طور مستقیم در برنامه نویسی (عملیات باینری، پرچم ها)، شبکه (محاسبات IP/شبکه) و کار با سخت افزار سطح پایین کمک می کند.

آریتمتیک باینری: جمع و تفریق

آرایتمتیک باینری همان قوانین آرایتمتیک دهدهی را دنبال می کند، اما با تنها دو رقم. جدول جمع به این صورت است:

ABجمعحمل
0000
0110
1010
1101

مثال: 1011 + 0110

از راست به چپ کار می کنیم: 1+0=1، 1+1=10 (0 را بنویسید، 1 را حمل کنید)، 0+1+1=10 (0 را بنویسید، 1 را حمل کنید)، 1+0+1=10 (0 را بنویسید، 1 را حمل کنید). نتیجه: 10001 (دهدهی: 11+6=17 ✓)

تفریق در سخت افزار معمولاً با استفاده از دو کمکی زیراب می شود. برای محاسبه A−B، پردازنده A + (−B) را محاسبه می کند، جایی که −B دو کمکی زیراب B است. این اجازه می دهد تا یک مدار جمع کننده واحد را برای هر دو جمع و تفریق استفاده کنید.

عملیات باینری

زبان های برنامه نویسی عملیات باینری را که بیت های فردی را دستکاری می کنند، ارائه می دهند. این ها برای برنامه نویسی سطح پایین، سیستم های تعبیه شده و بهینه سازی عملکرد ضروری هستند:

عملیاتنمادمثال (8 بیت)نتیجهمورد استفاده
AND&10110101 & 1111000010110000پوشش بیت ها، استخراج فیلد ها
OR|10110101 | 0000111110111111تنظیم بیت ها، ترکیب پرچم ها
XOR^10110101 ^ 1111111101001010تغییر بیت ها، رمزگذاری ساده
NOT~~1011010101001010معکوس بیت
پایین تر شیفت<<00000101 << 200010100ضرب توسط 2ⁿ
بالاتر شیفت>>00010100 >> 200000101تقسیم توسط 2ⁿ

شیفت کردن بیت به طور قابل توجهی سریعتر از ضرب و تقسیم در بسیاری از پردازنده ها است. x << 1 معادل x × 2 است و x >> 1 معادل x ÷ 2 (تقسیم صحیح) است. بازی های ویندوزی و نرم افزار تعبیه شده از این عملیات ها به طور گسترده برای عملکرد استفاده می کنند.

باینری کد شده دهدهی (BCD)

باینری کد شده دهدهی هر رقم دهدهی را با استفاده از الگویی 4 بیتی باینری نشان می دهد. در حالیکه باینری خالص ساختار دهدهی را حفظ نمی کند:

دهدهیباینری خالصBCD
000000000
501010101
910011001
1010100001 0000
421010100100 0010
9911000111001 1001
255111111110010 0101 0101

BCD کمتر از باینری خالص (10 از 16 ممکن 4 بیتی استفاده می شود) فشرده است، اما نمایش دهدهی را ساده می کند — هر نیمه باینری مستقیماً به یک رقم نمایشی تبدیل می شود. BCD در ساعت های دیجیتال، کالباس ها، سیستم های مالی (در آن جا که نمایش دقیق دهدهی مهم است) و پایگاه های داده های قدیمی (COBOL، IBM EBCDIC) استفاده می شود.

فلوئینگ پوینت باینری (IEEE 754)

اعداد دهدهی با بخش های کسر (مانند 3.14) در باینری با استاندارد IEEE 754 ذخیره می شود. یک عدد باینری 32 بیتی (فلوئینگ نقطه ای تک دقت) سه بخش دارد:

فیلدبیت ها目的
علامت10 = مثبت، 1 = منفی
امپلکس8امپلکس متمایز شده (متمایز = 127)
مانتسا (معنی دارنده)23بخش کسر (1 پیش فرض leading)

مثال: عدد دهدهی −6.5 در IEEE 754 تک دقت:

  1. علامت = 1 (منفی)
  2. 6.5 در باینری = 110.1₂ = 1.101 × 2² (معمول سازی شده)
  3. امپلکس = 2 + 127 (متمایز) = 129 = 10000001₂
  4. مانتسا = 10100000000000000000000 (23 بیت، 1 leading پیش فرض حذف شده)
  5. نمایش کامل: 1 10000001 10100000000000000000000

این است که چرا 0.1 + 0.2 ≠ 0.3 در بیشتر زبان های برنامه نویسی — بخش کسر 0.1 در باینری (مانند 1/3 در دهدهی = 0.333… ) دارای نمایانگر نامتناهی است، بنابراین باید تقریب زده شود، خطا های کوچک ایجاد می کند. برای محاسبات مالی، از کتابخانه های آرایه دهدهی (مدول decimal پایتون، BigDecimal جاوا) بجای آرایه نقطه ای استفاده کنید.

کدگذاری کاراکتر: از ASCII به UTF-8

متن به عنوان اعداد باینری مapped به کاراکترها ذخیره می شود. تکامل کدگذاری کاراکتر نشان دهنده گسترش جهانی رایانه است:

کدگذاریسالبیت ها در هر کاراکترکاراکترهای پشتیبانی شدهنکات
ASCII19637 (در 8 ذخیره شده)128حروف انگلیسی، اعداد، علامت های نگارشی
ASCII گسترش یافته (ISO 8859-1)19878256کاراکترهای اروپایی غربی (é، ñ، ü)
UTF-819938–32 (متغیر)1,112,064compatible با backward با ASCII؛ استاندارد وب
UTF-16199616–32 (متغیر)1,112,064در جاوا، ویندوز، جاوا اسکریپت داخلی استفاده می شود
UTF-32200032 (ثابت)1,112,064عرض ثابت؛ فضایی برای متن لاتین را ضایع می کند

UTF-8 کاراکترهای ASCII را در یک بایت (مثبت با ASCII عادی) ، کاراکترهای اروپایی را در 2 بایت ، کاراکترهای چینی را در 3 بایت و کاراکترهای اموجی را در 4 بایت کدگذاری می کند. بیش از 98 درصد از تمام صفحات وب از کدگذاری UTF-8 استفاده می کنند (بر اساس W3Techs، 2024).

گیت های منطقی باینری

گیت های منطقی بلوک های فیزیکی همه مدارهای دیجیتال هستند. هر گیت یک عملیات باینری ساده بر روی یک یا دو ورودی بیت انجام می دهد:

گیتنمادجدول حقیقت (A,B → خروجی)توضیح
ANDA·B0,0→0; 0,1→0; 1,0→0; 1,1→1خروجی فقط در صورت اینکه هر دو ورودی 1 باشد
ORA+B0,0→0; 0,1→1; 1,0→1; 1,1→1خروجی در صورت اینکه حداقل یک ورودی 1 باشد
NOT¬A0→1; 1→0ورودی را معکوس می کند
NAND¬(A·B)0,0→1; 0,1→1; 1,0→1; 1,1→0اند و نه؛ گیت جهانی
XORA⊕B0,0→0; 0,1→1; 1,0→1; 1,1→0خروجی در صورت اینکه ورودی ها متفاوت باشند

گیت NAND به عنوان گیت جهانی شناخته می شود زیرا هر عمل منطقی دیگر می تواند با استفاده از فقط گیت های NAND ساخته شود. پردازنده های مدرن شامل میلیارد ها ترانزیستور که به صورت NAND و NOR گیت ها ترکیب شده اند، که سپس به صورت افزودن ها، چندگانه ها، فلاپ فلوپ ها و همه بلوک های ساختاری دیگر پردازنده ترکیب می شوند. ترانزیستور اپل M3 حدود 25 میلیارد ترانزیستور دارد — هر یک از آنها یک سوئیچ باینری میکروسکوپی است که یا فعال (1) یا غیرفعال (0) است.

گیت XOR دارای خاصیتی است: خروجی را در صورت اینکه ورودی ها متفاوت باشند، تولید می کند. این باعث می شود که آن را بنیانگذار افزودن باینری (مجموعه بیت های افزودن)، تشخیص خطا (پاریتا) و رمزگذاری ساده (رمزگذاری XOR) شود.

تاریخ باینری: از لایبنیتس تا رایانه‌های مدرن

سیستم باینری یک تاریخچه فکری غنی دارد:

سالشخص/رویدادمخاطب
~300 قبل از میلادپینگالا ( ریاضی‌دان هندی)استفاده از سیستم باینری مانند برای طبقه‌بندی مترهای شعر
1679گوتفرید لایبنیتستوصیف رسمی حساب باینری مدرن؛ دیدگاه‌های خود را به چینگ چینی دید
1847جورج بویلانتشار "تحلیل ریاضیاتی منطق" — اساس منطق بولین
1937کلدوی شانون (توصیفه کارشناسی ارشد MIT)نمایش توانایی منطق بولین برای مدل‌سازی مدارهای سوئیچینگ الکتریکی
1945جان وون نئومانپیشنهاد معماری رایانه باینری ذخیره‌ساز (معماری وون نئومان)
1971اینتل 4004پردازنده میکروکامپیوتر تجاری اولین — 2,300 ترانزیستور، 4 بیت باینری
2024پردازنده‌های مدرنمیلیون‌ها ترانزیستور؛ معماری باینری 64 بیت استاندارد

دیدگاه لایبنیتس که تمام اعداد می‌توانند با استفاده از تنها 0 و 1 بیان شوند، صرفاً ریاضی بود — او هیچگاه رایانه‌های الکترونیکی را تصور نکرده بود. توصیفه کارشناسی ارشد شانون در سال 1937، منطق بولین (باینری) را به مدارهای سوئیچینگ الکتریکی متصل کرد و پایه نظری برای تمام الکترونیک دیجیتال ایجاد کرد. این توصیفه کارشناسی ارشد ممکن است "توصیفه کارشناسی ارشد مهم‌ترین قرن بیستم" باشد.

باینری در شبکه: آدرس‌های IP و ماسک‌های زیر شبکه

فهم باینری برای مدیریت شبکه ضروری است. آدرس‌های IP و ماسک‌های زیر شبکه 32 بیت باینری هستند:

توضیحدستگاه دهدهیباینری
آدرس IP192.168.1.10011000000.10101000.00000001.01100100
ماسک زیر شبکه (/24)255.255.255.011111111.11111111.11111111.00000000
آدرس شبکه192.168.1.011000000.10101000.00000001.00000000
آدرس پخش192.168.1.25511000000.10101000.00000001.11111111

آدرس شبکه با عمل AND کردن آدرس IP و ماسک زیر شبکه محاسبه می‌شود. آدرس پخش تمام بیت‌های میزبان را 1 می‌کند. تعداد آدرس‌های قابل استفاده = 2^(32-پیش‌فرض) - 2. برای یک زیر شبکه /24: 2^8 - 2 = 254 آدرس میزبان قابل استفاده.

اندازه‌های زیر شبکه رایج:

CIDRماسک زیر شبکهمیزباناستفاده معمول
/32255.255.255.2551مسیر تک میزبان
/30255.255.255.2522پیوند نقطه به نقطه
/24255.255.255.0254LAN استاندارد
/16255.255.0.065,534شبکه گسترده دانشگاهی
/8255.0.0.016,777,214تخصیص کلاس A

سوال‌های متداول

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

1100 در باینری: 1×8 + 1×4 + 0×2 + 0×1 = 8 + 4 = 12. بنابراین 1100 در باینری = 12 در دهدهی.

255 در باینری چیست؟

255 در باینری 11111111 است — هشت بیت را به 1 تنظیم کنید. این حداکثر مقدار یک بایت و در شبکه (ماسک زیر شبکه 255.255.255.0) و رنگ‌ها (رنگ سرخ کامل = 255، 0، 0) ظاهر می‌شود.

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

در حال تکرار تقسیم کنید: 100÷2=50 ر0، 50÷2=25 ر0، 25÷2=12 ر1، 12÷2=6 ر0، 6÷2=3 ر0، 3÷2=1 ر1، 1÷2=0 ر1. از بالا به پایین بیت‌ها را بخوانید: 1100100₂. تأیید کنید: 64+32+4 = 100. ✓

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

باینری از پایه 2 (صفر تا یک) استفاده می‌کند؛ هگزادسیمال از پایه 16 (صفر تا 9، A تا F) استفاده می‌کند. هگزادسیمال کوتاه‌نامه‌ای برای باینری است — هر رقم هگزادسیمال دقیقاً 4 بیت باینری را نشان می‌دهد. برای مثال، هگزادسیمال FF = باینری 11111111 = دهدهی 255.

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

موجودی‌های الکترونیکی به طور طبیعی باینری هستند: یک ترانزیستور either on (1) یا off (0) است، و ولتاژ either بالا یا پایین است. دهدهی نیاز به 10 سطح ولتاژ مختلف دارد که در سخت‌افزار قابل پیاده‌سازی است. باینری tolerant against noise و به طور کامل منطق true/false را نشان می‌دهد.

چه چیزی دو کمپلمان است؟

دو کمپلمان روش استاندارد برای نشان دادن اعداد منفی (مثبت و منفی) در باینری است. برای پیدا کردن دو کمپلمان (منفی) یک عدد: تمام بیت‌ها را معکوس کنید و 1 را اضافه کنید. در یک سیستم 8 بیتی، +5 00000101 است، و -5 11111011 است. بیت سمت چپ علامت است: 0 = مثبت، 1 = منفی. این سیستم اجازه می‌دهد تا یک مدار جمع‌کننده برای هر دو جمع و تفریق استفاده شود.

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

بیت‌های باینری را به گروه‌های 4 از راست به چپ تقسیم کنید، سپس هر گروه را به هگزادسیمال تبدیل کنید. مثال: 10110101₂ → 1011 0101 → B5₁₆. گروه‌بندی‌ها هستند: 0000=0، 0001=1، 0010=2، ...، 1001=9، 1010=A، 1011=B، 1100=C، 1101=D، 1110=E، 1111=F.