به راحتی با این ابزار آنلاین رایگان، اعداد را بین سیستمهای باینری و دهدهی تبدیل کنید. تبدیل آنی با تجسم آموزشی.
به سرعت بین سیستمهای عددی باینری و دهدهی تبدیل کنید.
اعداد باینری فقط از 0 و 1 استفاده میکنند
اعداد دهدهی از ارقام 0-9 استفاده میکنند
یک مقدار را در هر فیلد وارد کنید تا تبدیل در فیلد دیگر را ببینید.
مبدل باینری-دهدهی ابزاری ضروری برای هرکسی است که با سیستمهای عددی مختلف کار میکند. باینری (پایه-۲) و دهدهی (پایه-۱۰) دو سیستم عددی بنیادی هستند که در رایانه و ریاضیات استفاده میشوند. مبدل باینری به دهدهی ما به شما این امکان را میدهد که بهصورت آنی اعداد را بین این سیستمها با دقت کامل ترجمه کنید. چه شما یک دانشجوی علوم کامپیوتر باشید که در حال یادگیری نمایندگی باینری هستید، یک برنامهنویس که در حال اشکالزدایی کد است، یا یک علاقهمند به الکترونیک که با مدارهای دیجیتال کار میکند، این مبدل فرآیند تبدیل بین فرمتهای عددی باینری و دهدهی را بدون نیاز به محاسبات دستی پیچیده ساده میکند.
اعداد باینری که فقط شامل ۰ها و ۱ها هستند، پایهگذار تمام سیستمهای محاسبات دیجیتال هستند، در حالی که سیستم دهدهی با ارقام ۰ تا ۹ آن چیزی است که ما در زندگی روزمره استفاده میکنیم. درک رابطه بین این سیستمها برای هر کسی که درگیر علوم کامپیوتر، برنامهنویسی یا الکترونیک دیجیتال است، حیاتی است. این ابزار فاصله بین این سیستمهای عددی را پر میکند و تبدیلها را بدون زحمت و بدون خطا میسازد.
سیستم دهدهی سیستم عددی استاندارد ما است که از ۱۰ رقم (۰-۹) استفاده میکند. در این سیستم عددی موضعی، هر موقعیت نمایانگر یک توان از ۱۰ است:
بهعنوان مثال، عدد دهدهی ۴۲۷ نمایانگر است:
جمع این مقادیر: ۴۰۰ + ۲۰ + ۷ = ۴۲۷
سیستم باینری تنها از دو رقم (۰ و ۱) استفاده میکند. هر موقعیت در یک عدد باینری نمایانگر یک توان از ۲ است:
بهعنوان مثال، عدد باینری ۱۰۱۰ نمایانگر است:
جمع این مقادیر: ۸ + ۰ + ۲ + ۰ = ۱۰ در دهدهی
برای تبدیل یک عدد باینری به دهدهی، هر رقم را در توان مربوطه از ۲ ضرب کنید و نتایج را جمع کنید:
جایی که:
مثال: تبدیل باینری ۱۱۰۱ به دهدهی ۱. ۱ × ۲³ = ۸ ۲. ۱ × ۲² = ۴ ۳. ۰ × ۲¹ = ۰ ۴. ۱ × ۲⁰ = ۱ ۵. جمع: ۸ + ۴ + ۰ + ۱ = ۱۳
برای تبدیل یک عدد دهدهی به باینری، بهطور مکرر عدد را بر ۲ تقسیم کنید و باقیماندهها را در ترتیب معکوس ثبت کنید:
۱. عدد دهدهی را بر ۲ تقسیم کنید ۲. باقیمانده (۰ یا ۱) را ثبت کنید ۳. حاصلضرب را بر ۲ تقسیم کنید ۴. مراحل ۲-۳ را تکرار کنید تا حاصلضرب به ۰ برسد ۵. باقیماندهها را از پایین به بالا بخوانید
مثال: تبدیل دهدهی ۲۵ به باینری ۱. ۲۵ ÷ ۲ = ۱۲ باقیمانده ۱ ۲. ۱۲ ÷ ۲ = ۶ باقیمانده ۰ ۳. ۶ ÷ ۲ = ۳ باقیمانده ۰ ۴. ۳ ÷ ۲ = ۱ باقیمانده ۱ ۵. ۱ ÷ ۲ = ۰ باقیمانده ۱ ۶. خواندن از پایین به بالا: ۱۱۰۰۱
مبدل باینری-دهدهی ما بهگونهای طراحی شده است که شهودی و کاربرپسند باشد. مراحل ساده زیر را برای تبدیل بین اعداد باینری و دهدهی دنبال کنید:
۱. عدد باینری را وارد کنید: یک عدد باینری (که فقط شامل ۰ها و ۱ها باشد) را در فیلد ورودی "باینری" تایپ کنید. ۲. نتیجه را مشاهده کنید: معادل دهدهی بهطور خودکار در فیلد "دهدهی" ظاهر میشود. ۳. نتیجه را کپی کنید: روی دکمه "کپی" کنار نتیجه دهدهی کلیک کنید تا آن را به کلیپبورد خود کپی کنید.
۱. عدد دهدهی را وارد کنید: یک عدد صحیح غیرمنفی را در فیلد ورودی "دهدهی" تایپ کنید. ۲. نتیجه را مشاهده کنید: معادل باینری بهطور خودکار در فیلد "باینری" ظاهر میشود. ۳. نتیجه را کپی کنید: روی دکمه "کپی" کنار نتیجه باینری کلیک کنید تا آن را به کلیپبورد خود کپی کنید.
مبدل همچنین توضیح بصری از فرآیند تبدیل را فراهم میکند و به شما نشان میدهد که چگونه هر تبدیل بهصورت ریاضی انجام میشود. این ویژگی آموزشی به شما کمک میکند تا اصول زیرین تبدیلهای سیستم عددی را درک کنید.
تبدیل باینری-دهدهی در زمینهها و کاربردهای متعددی بنیادی است:
یک آدرس IPv4 مانند ۱۹۲.۱۶۸.۱.۱ میتواند بهصورت باینری نمایان شود:
ترکیب: ۱۱۰۰۰۰۰۰.۱۰۱۰۱۰۰۰.۰۰۰۰۰۰۰۱.۰۰۰۰۰۰۰۱
در حالی که باینری و دهدهی رایجترین سیستمهای عددی هستند، سیستمهای دیگری نیز وجود دارند که کاربردهای مهمی دارند:
هگزادسیمال از ۱۶ رقم (۰-۹ و A-F) استفاده میکند و اغلب بهعنوان روشی فشردهتر برای نمایندگی دادههای باینری استفاده میشود. هر رقم هگزادسیمال دقیقاً نمایانگر ۴ رقم باینری است.
مثال: باینری ۱۰۱۰ ۱۱۰۱ = هگزادسیمال AD
هشتتایی از ۸ رقم (۰-۷) استفاده میکند و در تاریخچه محاسبات اهمیت داشت. هر رقم هشتتایی دقیقاً نمایانگر ۳ رقم باینری است.
مثال: باینری ۱۰۱ ۰۱۱ = هشتتایی ۵۳
BCD هر رقم دهدهی را با استفاده از تعداد ثابتی از ارقام باینری (معمولاً ۴) نمایان میکند. این روش در کاربردهایی که نمایندگی دهدهی مورد نیاز است، مانند ساعتهای دیجیتال، استفاده میشود.
مثال: دهدهی ۴۲ در BCD = ۰۱۰۰ ۰۰۱۰
سیستم دهدهی از زمانهای قدیم بهعنوان سیستم عددی غالب در تاریخ بشریت شناخته شده است، احتمالاً به این دلیل که انسانها ده انگشت دارند. شواهدی از سیستمهای شمارش دهدهی به تمدنهای باستانی برمیگردد:
سیستم باینری تاریخچهای تازهتر اما بههمین اندازه جالب دارد:
در اینجا پیادهسازیهای تبدیل باینری-دهدهی در زبانهای برنامهنویسی مختلف آورده شده است:
1// تبدیل باینری به دهدهی
2function binaryToDecimal(binary) {
3 if (!/^[01]+$/.test(binary)) {
4 return "عدد باینری نامعتبر است";
5 }
6 return parseInt(binary, 2);
7}
8
9// تبدیل دهدهی به باینری
10function decimalToBinary(decimal) {
11 if (!/^\d+$/.test(decimal) || decimal < 0) {
12 return "عدد دهدهی نامعتبر است";
13 }
14 return Number(decimal).toString(2);
15}
16
17// مثال استفاده
18console.log(binaryToDecimal("1010")); // خروجی: ۱۰
19console.log(decimalToBinary("42")); // خروجی: ۱۰۱۰۱۰
20
1# تبدیل باینری به دهدهی
2def binary_to_decimal(binary):
3 try:
4 # بررسی اینکه ورودی فقط شامل ۰ها و ۱ها باشد
5 if not all(bit in '01' for bit in binary):
6 return "عدد باینری نامعتبر است"
7 return int(binary, 2)
8 except ValueError:
9 return "عدد باینری نامعتبر است"
10
11# تبدیل دهدهی به باینری
12def decimal_to_binary(decimal):
13 try:
14 # بررسی اینکه ورودی یک عدد صحیح غیرمنفی باشد
15 decimal = int(decimal)
16 if decimal < 0:
17 return "عدد دهدهی نامعتبر است"
18 return bin(decimal)[2:] # حذف پیشوند '0b'
19 except ValueError:
20 return "عدد دهدهی نامعتبر است"
21
22# مثال استفاده
23print(binary_to_decimal("1010")) # خروجی: ۱۰
24print(decimal_to_binary("42")) # خروجی: ۱۰۱۰۱۰
25
1public class BinaryDecimalConverter {
2 // تبدیل باینری به دهدهی
3 public static int binaryToDecimal(String binary) {
4 if (!binary.matches("[01]+")) {
5 throw new IllegalArgumentException("عدد باینری نامعتبر است");
6 }
7 return Integer.parseInt(binary, 2);
8 }
9
10 // تبدیل دهدهی به باینری
11 public static String decimalToBinary(int decimal) {
12 if (decimal < 0) {
13 throw new IllegalArgumentException("اعداد منفی پشتیبانی نمیشوند");
14 }
15 return Integer.toBinaryString(decimal);
16 }
17
18 public static void main(String[] args) {
19 System.out.println(binaryToDecimal("1010")); // خروجی: ۱۰
20 System.out.println(decimalToBinary(42)); // خروجی: ۱۰۱۰۱۰
21 }
22}
23
1#include <iostream>
2#include <string>
3#include <cmath>
4#include <regex>
5
6// تبدیل باینری به دهدهی
7int binaryToDecimal(const std::string& binary) {
8 // بررسی اینکه ورودی فقط شامل ۰ها و ۱ها باشد
9 if (!std::regex_match(binary, std::regex("[01]+"))) {
10 throw std::invalid_argument("عدد باینری نامعتبر است");
11 }
12
13 int decimal = 0;
14 for (int i = 0; i < binary.length(); i++) {
15 if (binary[binary.length() - 1 - i] == '1') {
16 decimal += std::pow(2, i);
17 }
18 }
19 return decimal;
20}
21
22// تبدیل دهدهی به باینری
23std::string decimalToBinary(int decimal) {
24 if (decimal < 0) {
25 throw std::invalid_argument("اعداد منفی پشتیبانی نمیشوند");
26 }
27
28 if (decimal == 0) {
29 return "0";
30 }
31
32 std::string binary = "";
33 while (decimal > 0) {
34 binary = (decimal % 2 == 0 ? "0" : "1") + binary;
35 decimal /= 2;
36 }
37 return binary;
38}
39
40int main() {
41 std::cout << binaryToDecimal("1010") << std::endl; // خروجی: ۱۰
42 std::cout << decimalToBinary(42) << std::endl; // خروجی: ۱۰۱۰۱۰
43 return 0;
44}
45
1' تبدیل باینری به دهدهی
2Function BinaryToDecimal(binary As String) As Variant
3 ' بررسی اینکه ورودی فقط شامل ۰ها و ۱ها باشد
4 Dim i As Integer
5 For i = 1 To Len(binary)
6 If Mid(binary, i, 1) <> "0" And Mid(binary, i, 1) <> "1" Then
7 BinaryToDecimal = CVErr(xlErrValue)
8 Exit Function
9 End If
10 Next i
11
12 BinaryToDecimal = Application.WorksheetFunction.Bin2Dec(binary)
13End Function
14
15' تبدیل دهدهی به باینری
16Function DecimalToBinary(decimal As Long) As String
17 If decimal < 0 Then
18 DecimalToBinary = CVErr(xlErrValue)
19 Exit Function
20 End If
21
22 DecimalToBinary = Application.WorksheetFunction.Dec2Bin(decimal)
23End Function
24
25' مثال استفاده در یک سلول:
26' =BinaryToDecimal("1010") ' بازمیگرداند: ۱۰
27' =DecimalToBinary(42) ' بازمیگرداند: ۱۰۱۰۱۰
28
عدد باینری عددی است که در سیستم عددی پایه-۲ بیان میشود که فقط از دو نماد: معمولاً "۰" و "۱" استفاده میکند. هر رقم بهعنوان بیت (رقم باینری) شناخته میشود. اعداد باینری برای محاسبات دیجیتال بنیادی هستند زیرا تمام دادهها در رایانهها در نهایت بهصورت باینری نمایان میشوند.
رایانهها از باینری استفاده میکنند زیرا اجزای الکترونیکی بهراحتی میتوانند دو حالت را نمایان کنند: روشن/خاموش، ولتاژ بالا/پایین یا قطبیت مغناطیسی. باینری همچنین از نظر ریاضی در پیادهسازی سختافزاری سادهتر است و باعث میشود رایانهها قابلاعتمادتر و کارآمدتر باشند. علاوه بر این، منطق بولی (AND، OR، NOT) بهطور کامل به عملیات باینری نقشهبرداری میشود.
برای تبدیل یک عدد باینری به دهدهی بهصورت دستی: ۱. عدد باینری را بنویسید ۲. وزنهایی را به هر موقعیت اختصاص دهید (از راست به چپ: ۱، ۲، ۴، ۸، ۱۶ و غیره) ۳. هر رقم باینری را در وزن آن ضرب کنید ۴. تمام نتایج را جمع کنید
بهعنوان مثال، باینری ۱۱۰۱: ۱×۸ + ۱×۴ + ۰×۲ + ۱×۱ = ۸ + ۴ + ۰ + ۱ = ۱۳
برای تبدیل یک عدد دهدهی به باینری بهصورت دستی: ۱. عدد دهدهی را بر ۲ تقسیم کنید ۲. باقیمانده (۰ یا ۱) را بنویسید ۳. حاصلضرب را بر ۲ تقسیم کنید ۴. مراحل را تا زمانی که حاصلضرب به ۰ برسد تکرار کنید ۵. باقیماندهها را از پایین به بالا بخوانید
بهعنوان مثال، دهدهی ۱۳: ۱۳ ÷ ۲ = ۶ باقیمانده ۱ ۶ ÷ ۲ = ۳ باقیمانده ۰ ۳ ÷ ۲ = ۱ باقیمانده ۱ ۱ ÷ ۲ = ۰ باقیمانده ۱ خواندن از پایین به بالا: ۱۱۰۱
پیادهسازی فعلی ما بر روی اعداد صحیح غیرمنفی تمرکز دارد تا سادگی و اهداف آموزشی را حفظ کند. اعداد منفی در باینری معمولاً با استفاده از تکنیکهایی مانند نمایندگی مقدار امضا، مکمل یک یا مکمل دو نمایان میشوند که مفاهیم پیشرفتهتری هستند.
مبدل میتواند اعداد صحیح تا حد ایمن عددی جاوااسکریپت (۲^۵۳ - ۱) که برابر با ۹،۰۰۷،۱۹۹،۲۵۴،۷۴۰،۹۹۱ است را مدیریت کند. برای ورودیهای باینری، این به معنای حداکثر ۵۳ بیت است. برای اعداد بسیار بزرگ، کتابخانههای تخصصی مورد نیاز خواهد بود.
کسرهای دهدهی در باینری با استفاده از کسرهای باینری نمایان میشوند. بهعنوان مثال، ۰.۵ دهدهی برابر با ۰.۱ باینری (۱×۲^-۱) است. این فرآیند شامل ضرب کردن قسمت کسر در ۲ و ثبت قسمت صحیح تا زمانی که به ۰ برسید یا شروع به تکرار کنید. مبدل فعلی ما فقط بر روی اعداد صحیح تمرکز دارد.
خطاهای رایج شامل:
حافظه رایانه بهصورت یک دنباله از مکانهای قابل آدرسدهی سازماندهی میشود. هر مکان یک آدرس منحصر به فرد دارد که اساساً یک عدد است. این آدرسها درون مدارهای رایانه بهصورت باینری نمایان میشوند. زمانی که یک برنامه نیاز به دسترسی به حافظه دارد، آدرس باینری مکان مورد نظر را مشخص میکند.
هر سه سیستمهای عددی موضعی هستند اما با پایههای مختلف. هگزادسیمال و هشتتایی اغلب بهعنوان روشهای فشردهتر برای نمایندگی دادههای باینری استفاده میشوند، بهطوری که هر رقم هگزادسیمال نمایانگر ۴ رقم باینری و هر رقم هشتتایی نمایانگر ۳ رقم باینری است.
۱. نوت، دونالد ای. "هنر برنامهنویسی کامپیوتر، جلد ۲: الگوریتمهای نیمه عددی." ادیسون-وِسلی، ۱۹۹۷.
۲. لایبنیتز، گوتفرید ویلهلم. "توضیح حساب باینری." یادداشتهای آکادمی سلطنتی علوم، ۱۷۰۳.
۳. بول، جورج. "تحقیقی در قوانین تفکر." انتشارات داور، ۱۸۵۴ (چاپ مجدد ۱۹۵۸).
۴. شانن، کلود ای. "تحلیل نمادین مدارهای رله و سوئیچینگ." نشریات انجمن مهندسان برق آمریکا، جلد ۵۷، شماره ۱۲، ۱۹۳۸، صفحات ۷۱۳-۷۲۳.
۵. ایفراه، جورج. "تاریخ جهانی اعداد: از پیشتاریخ تا اختراع رایانه." وایلی، ۲۰۰۰.
۶. "عدد باینری." ویکیپدیا، بنیاد ویکیمدیا، https://en.wikipedia.org/wiki/Binary_number. دسترسی ۱۵ اوت ۲۰۲۳.
۷. "دهدهی." ویکیپدیا، بنیاد ویکیمدیا، https://en.wikipedia.org/wiki/Decimal. دسترسی ۱۵ اوت ۲۰۲۳.
۸. "تبدیل سیستم عددی." مؤسسه ملی استاندارد و فناوری، https://www.nist.gov/dads/HTML/numbersysconv.html. دسترسی ۱۵ اوت ۲۰۲۳.
اکنون مبدل باینری-دهدهی ما را امتحان کنید تا بهسرعت و با دقت بین سیستمهای عددی باینری و دهدهی تبدیل کنید. چه در حال مطالعه علوم کامپیوتر باشید، چه در حال کار بر روی پروژههای الکترونیک دیجیتال، یا فقط کنجکاو درباره نحوه نمایندگی اعداد در رایانهها، ابزار ما فرآیند تبدیل را ساده و آموزشی میکند.
کشف ابزارهای بیشتری که ممکن است برای جریان کاری شما مفید باشند