قم بتحويل الأعداد بين أنظمة الثنائي والعشري بسهولة باستخدام هذه الأداة المجانية عبر الإنترنت. تحويل فوري مع تصور تعليمي.
قم بالتحويل بين أنظمة الأعداد الثنائية والعشرية على الفور.
تستخدم الأرقام الثنائية 0 و 1 فقط
تستخدم الأرقام العشرية الأرقام من 0 إلى 9
أدخل قيمة في أي حقل لرؤية التحويل في الحقل الآخر.
يعتبر محول الثنائي-عشري أداة أساسية لأي شخص يعمل مع أنظمة الأعداد المختلفة. الثنائي (الأساس-2) والعشري (الأساس-10) هما نظامان عدديان أساسيان مستخدمان في الحوسبة والرياضيات. يتيح لك محولنا من الثنائي إلى العشري ترجمة الأعداد بين هذين النظامين على الفور بدقة تامة. سواء كنت طالبًا في علوم الحاسوب تتعلم عن تمثيل الثنائي، أو مبرمجًا يقوم بتصحيح الشيفرة، أو هاويًا في الإلكترونيات يعمل مع الدوائر الرقمية، فإن هذا المحول يبسط عملية التحويل بين تنسيقات الأعداد الثنائية والعشرية دون الحاجة إلى حسابات يدوية معقدة.
تتكون الأعداد الثنائية، التي تحتوي فقط على 0 و 1، من أساس جميع أنظمة الحوسبة الرقمية، بينما نظام العشري مع الأرقام من 0 إلى 9 هو ما نستخدمه في حياتنا اليومية. إن فهم العلاقة بين هذه الأنظمة أمر حيوي لأي شخص يشارك في علوم الحاسوب أو البرمجة أو الإلكترونيات الرقمية. هذه الأداة تسد الفجوة بين هذه الأنظمة العددية، مما يجعل التحويلات سهلة وخالية من الأخطاء.
النظام العشري هو نظام الأعداد القياسي لدينا، ويستخدم 10 أرقام (0-9). في هذا النظام العددي الموضعي، يمثل كل موضع قوة من 10:
على سبيل المثال، يمثل العدد العشري 427:
نجمع هذه القيم: 400 + 20 + 7 = 427
يستخدم النظام الثنائي رقمين فقط (0 و 1). يمثل كل موضع في عدد ثنائي قوة من 2:
على سبيل المثال، يمثل العدد الثنائي 1010:
نجمع هذه القيم: 8 + 0 + 2 + 0 = 10 في العشري
لتحويل عدد ثنائي إلى عشري، اضرب كل رقم في قوته المقابلة من 2 واجمع النتائج:
حيث:
مثال: تحويل الثنائي 1101 إلى عشري
لتحويل عدد عشري إلى ثنائي، قسم العدد بشكل متكرر على 2 وسجل البواقي بالترتيب العكسي:
مثال: تحويل العشري 25 إلى ثنائي
تم تصميم محولنا من الثنائي إلى العشري ليكون بديهيًا وسهل الاستخدام. اتبع هذه الخطوات البسيطة للتحويل بين الأعداد الثنائية والعشرية:
يوفر المحول أيضًا شرحًا بصريًا لعملية التحويل، مما يوضح لك بالضبط كيف يتم إجراء كل تحويل رياضيًا. تساعد هذه الميزة التعليمية في فهم المبادئ الأساسية لتحويل أنظمة الأعداد.
يعد تحويل الثنائي-عشري أساسيًا في العديد من المجالات والتطبيقات:
يمكن تمثيل عنوان IPv4 مثل 192.168.1.1 في الثنائي كالتالي:
مجمعة: 11000000.10101000.00000001.00000001
بينما تعتبر الثنائي والعشري من أكثر أنظمة الأعداد استخدامًا، فإن أنظمة أخرى لها تطبيقات مهمة:
يستخدم السداسي عشر 16 رقمًا (0-9 و A-F) وغالبًا ما يستخدم كوسيلة أكثر اختصارًا لتمثيل البيانات الثنائية. يمثل كل رقم سداسي عشر بالضبط 4 أرقام ثنائية.
مثال: الثنائي 1010 1101 = السداسي عشر AD
يستخدم الثماني 8 أرقام (0-7) وكان مهمًا تاريخيًا في الحوسبة. يمثل كل رقم ثماني بالضبط 3 أرقام ثنائية.
مثال: الثنائي 101 011 = الثماني 53
يمثل BCD كل رقم عشري باستخدام عدد ثابت من الأرقام الثنائية (عادة 4). يُستخدم في التطبيقات التي تتطلب تمثيلًا عشريًا، مثل الساعات الرقمية.
مثال: العشري 42 في BCD = 0100 0010
كان النظام العشري هو النظام العددي السائد في تاريخ البشرية، على الأرجح لأن البشر لديهم عشرة أصابع. تشير الأدلة إلى أن أنظمة العد العشرية تعود إلى حضارات قديمة:
يمتلك النظام الثنائي تاريخًا أكثر حداثة ولكنه مثير بنفس القدر:
إليك تنفيذات لتحويل الثنائي-عشري في لغات البرمجة المختلفة:
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")); // الناتج: 10
19console.log(decimalToBinary("42")); // الناتج: 101010
20
1# تحويل من الثنائي إلى العشري
2def binary_to_decimal(binary):
3 try:
4 # تحقق مما إذا كان الإدخال يحتوي فقط على 0 و 1
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")) # الناتج: 10
24print(decimal_to_binary("42")) # الناتج: 101010
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")); // الناتج: 10
20 System.out.println(decimalToBinary(42)); // الناتج: 101010
21 }
22}
23
1#include <iostream>
2#include <string>
3#include <cmath>
4#include <regex>
5
6// تحويل من الثنائي إلى العشري
7int binaryToDecimal(const std::string& binary) {
8 // تحقق مما إذا كان الإدخال يحتوي فقط على 0 و 1
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; // الناتج: 10
42 std::cout << decimalToBinary(42) << std::endl; // الناتج: 101010
43 return 0;
44}
45
1' تحويل من الثنائي إلى العشري
2Function BinaryToDecimal(binary As String) As Variant
3 ' تحقق مما إذا كان الإدخال يحتوي فقط على 0 و 1
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") ' يرجع: 10
27' =DecimalToBinary(42) ' يرجع: 101010
28
العدد الثنائي هو عدد يعبر عنه في نظام الأعداد الأساس-2، الذي يستخدم رمزين فقط: عادةً "0" و "1". يُشار إلى كل رقم باسم بت (رقم ثنائي). الأعداد الثنائية أساسية في الحوسبة الرقمية حيث يتم تمثيل جميع البيانات في الحواسيب في النهاية بشكل ثنائي.
تستخدم الحواسيب النظام الثنائي لأن المكونات الإلكترونية يمكنها بسهولة تمثيل حالتين: تشغيل/إيقاف، جهد عالي/منخفض، أو قطبية مغناطيسية. كما أن النظام الثنائي أبسط رياضيًا للتنفيذ في الأجهزة، مما يجعل الحواسيب أكثر موثوقية وكفاءة. بالإضافة إلى ذلك، يتوافق المنطق البولياني (AND، OR، NOT) تمامًا مع العمليات الثنائية.
لتحويل عدد ثنائي إلى عشري يدويًا:
على سبيل المثال، الثنائي 1101: 1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 0 + 1 = 13
لتحويل عدد عشري إلى ثنائي يدويًا:
على سبيل المثال، العشري 13: 13 ÷ 2 = 6 الباقي 1 6 ÷ 2 = 3 الباقي 0 3 ÷ 2 = 1 الباقي 1 1 ÷ 2 = 0 الباقي 1 القراءة من الأسفل إلى الأعلى: 1101
تتركز تطبيقاتنا الحالية على الأعداد الصحيحة غير السالبة للبساطة والأغراض التعليمية. عادةً ما تستخدم الأعداد السالبة في الثنائي تقنيات مثل القيمة المطلقة الموقعة، أو المكمل الواحد، أو المكملين، وهي مفاهيم أكثر تقدمًا.
يمكن للمحول التعامل مع الأعداد الصحيحة حتى حد الأعداد الصحيحة الآمنة في جافا سكريبت (2^53 - 1)، وهو 9,007,199,254,740,991. بالنسبة للإدخالات الثنائية، يعني هذا حتى 53 بت. للأعداد الكبيرة جدًا، ستكون المكتبات المتخصصة مطلوبة.
تمثل الكسور العشرية في الثنائي باستخدام الكسور الثنائية. على سبيل المثال، 0.5 العشري هو 0.1 الثنائي (1×2^-1). تتضمن العملية ضرب الجزء الكسري في 2 وتسجيل الجزء الصحيح حتى تصل إلى 0 أو تبدأ في التكرار. يركز محولنا الحالي على الأعداد الصحيحة فقط.
تشمل الأخطاء الشائعة:
تنظم الذاكرة الحاسوبية كسلسلة من المواقع القابلة للعناوين. لكل موقع عنوان فريد، وهو في الأساس عدد. يتم تمثيل هذه العناوين في الثنائي داخل دوائر الحاسوب. عندما يحتاج برنامج إلى الوصول إلى الذاكرة، فإنه يحدد العنوان الثنائي للموقع المطلوب.
جميعها أنظمة عددية موضعية ولكن بأسس مختلفة. غالبًا ما تستخدم السداسية عشر والثمانية كطرق أكثر اختصارًا لتمثيل البيانات الثنائية، حيث يمثل كل رقم سداسي عشر بالضبط 4 أرقام ثنائية ويمثل كل رقم ثماني بالضبط 3 أرقام ثنائية.
كنث، دونالد إي. "فن برمجة الكمبيوتر، المجلد 2: الخوارزميات شبه العددية." أضف إلى ويلي، 1997.
لايبنيز، غوتفريد فيلهلم. "شرح الحساب الثنائي." مذكرات الأكاديمية الملكية للعلوم، 1703.
بول، جورج. "تحقيق في قوانين الفكر." منشورات دوفر، 1854 (إعادة نشر 1958).
شانون، كلود إي. "تحليل رمزي للدائرة الكهربائية والتبديل." معاملات معهد مهندسي الكهرباء الأمريكيين، المجلد 57، العدد 12، 1938، الصفحات 713-723.
إيفراه، جورج. "التاريخ العالمي للأعداد: من عصور ما قبل التاريخ إلى اختراع الكمبيوتر." وايلي، 2000.
"عدد ثنائي." ويكيبيديا، مؤسسة ويكيميديا، https://en.wikipedia.org/wiki/Binary_number. تم الوصول إليه في 15 أغسطس 2023.
"عشري." ويكيبيديا، مؤسسة ويكيميديا، https://en.wikipedia.org/wiki/Decimal. تم الوصول إليه في 15 أغسطس 2023.
"تحويل نظام الأعداد." المعهد الوطني للمعايير والتكنولوجيا، https://www.nist.gov/dads/HTML/numbersysconv.html. تم الوصول إليه في 15 أغسطس 2023.
جرّب محول الثنائي-عشري الخاص بنا الآن لتحويل الأعداد بين النظامين الثنائي والعشري بسرعة ودقة. سواء كنت تدرس علوم الحاسوب، أو تعمل على مشاريع الإلكترونيات الرقمية، أو كنت فضوليًا بشأن كيفية تمثيل الحواسيب للأعداد، فإن أداتنا تجعل عملية التحويل بسيطة وتعليمية.
اكتشف المزيد من الأدوات التي قد تكون مفيدة لسير عملك