آلة حاسبة ثنائية
أداء الجمع الثنائي والطرح والضرب والقسمة. تحويل بين الثنائي والعشري. حاسبة رياضية مجانية. الحصول على نتائج فورية الآن.
نظام الأرقام الثنائية: كيفية حساب الحواسيب
يستخدم نظام الأرقام الثنائية (القاعدة-2) رقمين فقط - 0 و 1 - يسمى بتات (أرقام ثنائية). كل جهاز كمبيوتر و الهاتف الذكي والأجهزة الرقمية تخزن وتعالج جميع المعلومات داخليًا في الثنائي ، لأن الدوائر الكهربائية يمكن أن تمثل بشكل موثوق حالتين متميزتين: الجهد العالي (1) والجهد المنخفض (0).
كل موقع في رقم ثنائي يمثل قوة 2، تزداد من اليمين إلى اليسار:
| الموقع | 2⁷ | 2⁶ | 2⁵ | 2⁴ | 2³ | 2² | 2¹ | 2⁰ |
|---|---|---|---|---|---|---|---|---|
| القيمة | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
التحويل من ثنائي إلى عشري:اضرب كل بت بقيمة مكانه وجمع كل النتائج
مثال:101101012= 1x128 + 0x64 + 1x32 + 1x16 + 0x8 + 1x4 + 0x2 + 1x1 = 128 + 32 + 16 + 4 + 1 =181
تحويل العشري إلى ثنائي:تكرار القسمة على 2، وتسجيل الباقي في كل خطوة، ثم قراءة البقايا من أسفل إلى أعلى.
مثال: تحويل 181 إلى ثنائي:
- 181 ÷ 2 = 90 بقية1
- 90 ÷ 2 = 45 بقية0
- 45 ÷ 2 = 22 بقية1
- 22 ÷ 2 = 11 بقية0
- 11 ÷ 2 = 5 بقية1
- 5 ÷ 2 = 2 بقية1
- 2 ÷ 2 = 1 بقية0
- 1 ÷ 2 = 0 بقية1
اقرأ الباقي من الأسفل إلى الأعلى101101012 ✓
الرياضيات الثنائية: الجمع والطرح والضرب
الحساب الثنائي يتبع نفس قواعد الحساب العشري، لكن الحسابات الثنائية تحدث عند 2 بدلاً من 10.
قواعد الجمع الثنائي:0+0=0، 0+1=1، 1+0=1، 1+1=10 (حمل 1) ، 1+1+1=11 (حمل 1)
مثال: 10112 + 11012 (11 + 13 = 24)
1011 + 1101 ------ 11000
العمل من اليمين إلى اليسار: 1+1=10 (كتابة 0، نقل 1) ؛ 1+0+1=10 (كتابة 0، نقل 1) ؛ 0+1+1=10 (كتابة 0، نقل 1) ؛ 1+1+1=11 (كتابة 1، نقل 1) ؛ الحمل النهائي يكتب 1. النتيجة: 110002 = 24
مكمل اثنين (طرح ثنائي):تتعامل أجهزة الكمبيوتر مع الأرقام السلبية والطرح باستخدام تمثيل مكمل اثنين. للعثور على مكمل اثنين لعدد: قم بقلب جميع البتات ، ثم أضف 1.
مثال: -13 في مكمل 8 بتين: +13 = 000011012 -> قلب جميع البتات -> 111100102 -> إضافة 1 ->111100112
هذا يسمح للطرح بأن يتم إجراؤه كجمع: 20 - 13 = 20 + (-13).
الضرب الثنائيهو أنيق: كل ناتج جزئي هو إما 0 (ضرب 0) أو الرقم نفسه (ضرب 1) ، المنحرف إلى اليسار. مثال: 10112 × 1012 (11 x 5 = 55):
1011 × 101 ----- 1011 (1011 × 1) 0000 (1011 × 0، تم تحويلها) 1011 (1011 × 1، تم تحويلها مرتين) ------ 1101112 = 55
الثنائي في الحوسبة: البتات والبايتات وأحجام البيانات
فهم الوحدات الثنائية أمر ضروري لأي شخص يعمل مع أجهزة الكمبيوتر أو التخزين أو سرعات الشبكة:
| الوحدة | الحجم | القيمة القصوى (غير موقعة) | الاستخدام الشائع |
|---|---|---|---|
| قليلاً | رقم ثنائي واحد | 1 | علم بولي، قيمة ثنائية واحدة |
| "بيبل" | 4 بتات | 15 (سداسي: F) | رقم عشري عشري واحد |
| بايت | ثمانية بت | 255 ـ ـ ـ | حرف واحد (ASCII) ، قناة اللون |
| كلمة | 16 بت | 65535 | أنظمة 16 بت القديمة ، أساسية يونيكود |
| كلمة مزدوجة (DWORD) | 32 بت | 4،294،967،295 | أرقام صحيحة 32 بت، عناوين IPv4 |
| كلمة الرباعية (QWORD) | 64 بت | 18,446,744,073,709,551,615 | الأعداد الصحيحة الحديثة، المؤشرات، الطوابع الزمنية |
قيم اللون:تستخدم ألوان الويب 24 بت RGB (8 بت لكل قناة). #FF5733 = R:255, G:87, B:51. يمكن لكل قناة 8 بت تمثيل 256 ظلال (0 - 255). مجموع الألوان الممكنة: 2563 =16777216(حوالي 16.7 مليون).
أذونات الملف في يونكس/لينكس:rwxr-xr-- = 111 101 100 في ثنائي = 7، 5، 4 في ثمانية = chmod 754. كل مجموعة من 3 بتات تمثل قراءة (r=4) ، كتابة (w=2) ، وتنفيذ (x=1) الأذونات للمالك، والمجموعة، وغيرها.
العمليات القياسية بت وتطبيقاتها
العمليات المتعددة البيت تتلاعب بالبتات الفردية داخل الأعداد الصحيحة. فهي أساسية للبرمجة منخفضة المستوى ، والتشفير ، وبرمجة الشبكة ، والكود الحاسم للأداء.
| العملية | الرمز | السلوك | مثال |
|---|---|---|---|
| و | & | 1 إذا كان كلا البيتين 1 | 1010 و 1100 = 1000 |
| OR | | | 1 إذا كان أي من البيتات هو 1 | 1010 -- 1100 = 1110 |
| XOR | ^ | 1 إذا كانت البيتات مختلفة | 1010 ^ 1100 = 0110 |
| لا | ~ | قم بتحويل جميع الأجزاء | ~1010 = 0101 |
| التحول إلى اليسار | << | بتات التحول إلى اليسار (x2 في كل تحول) | 1011 << 1 = 10110 (x2) |
| التحول إلى اليمين | >> | بتات التحول إلى اليمين (÷2 في كل تحول) | 1011 >> 1 = 0101 (÷2) |
الاستخدامات العملية
- إخفاء البيت:تحقق إذا كانت بت محددة وضعت:
if (flags & 0b0100) { ... }-- يتحقق من أن بيت 2 هو 1. - إعداد قليلاً:
flags = flags | 0b0100-- يضع بت 2 إلى 1 بغض النظر عن القيمة الحالية. - التطهير قليلاً:
flags = flags & ~0b0100-- يزيل القسم 2 إلى 0. - الضرب السريع / القسمة على قوى 2:
n << 3= n × 8n >> 2= n ÷ 4. التحولات بت هي عمليات على مستوى وحدة المعالجة المركزية، أسرع بكثير من الضرب. - التحقق من الزوج/الفرد:
if (n & 1) { /* odd */ }-- الجزء الاخير من اي عدد فردي هو دائما 1
مقارنة أنظمة الأرقام: ثنائي، ثماني، عشري، عشري
يستخدم علوم الكمبيوتر أربعة أنظمة عددية ، كل منها مناسب لسياقات مختلفة:
| النظام | قاعدة | الأرقام | الاستخدام الشائع |
|---|---|---|---|
| ثنائي (قاعدة-2) | 2 | 0، 1 | عمليات وحدة المعالجة المركزية، التخزين، المنطق |
| الأوكتال (القاعدة 8) | 8 | 0 - 7 | أذونات ملفات يونكس، الأنظمة القديمة |
| العشرية (القاعدة 10) | 10 | 0 - 9 | الأرقام القابلة للقراءة من قبل البشر |
| العشرية (القاعدة 16) | 16 | 0 - 9 ، A - F | عناوين الذاكرة، رموز الألوان، رمز الآلة |
تحويل سريع: ثنائي(4 أرقام ثنائية = 1 رقم عشري):
| ثنائي | هيكس | العشرية | ثنائي | هيكس | العشرية |
|---|---|---|---|---|---|
| - 0000 - | 0 | 0 | ألف | 8 | 8 |
| 0001 | 1 | 1 | 1001 | 9 | 9 |
| 0010 | 2 | 2 | 1010 | A | 10 |
| 0011 | 3 | 3 | 1011 | B | 11 |
| 0100 | 4 | 4 | 1100 ألف | C | 12 |
| 0101 | 5 | 5 | 1101 | D | 13 |
| 0110 | 6 | 6 | 1110 | E | 14 |
| 0111 | 7 | 7 | 1111 . | F | 15 |
هذه المجموعة من 4 بتات تجعل من السادسية مفيدة للغاية كإشارة مضغوطة للبيانات الثنائية: قيمة 32 بت11001010 00111111 10110101 00001100هو أسهل بكثير لكتابة كماCA3FB50C.
ثنائي في الشبكات: عناوين بروتوكول الإنترنت وأقنعة الشبكات الفرعية
فهم النظام الثنائي ضروري في هندسة الشبكات لأن عناوين IPv4 هي أساسا أرقام ثنائية 32 بت، والشبكات الفرعية -- عملية تقسيم الشبكات -- تعتمد بالكامل على العمليات الثنائية.
عنوان IPv4 مثل192.168.1.100هو التدوين القابل للقراءة من قبل الإنسان للقيمة الثنائية 32 بت:
11000000.10101000.00000001.01100100
A قناع الشبكة الفرعيةيحدد أي جزء من العنوان يحدد الشبكة والذي يحدد المضيف. قناع 255.255.255.0 في الثنائي هو:
11111111.11111111.11111111.00000000
ويعطي AND على شكل بت لعنوان IP وشعار الشبكة الفرعية عنوان الشبكة:
| العنصر | العشرية | ثنائي |
|---|---|---|
| عنوان الـ IP | 192.168.1.100 | 11000000.10101000.00000001.01100100 |
| قناع الشبكة الفرعية | 255.255.255.0 | 111111111111111111111111111111 |
| الشبكة (AND) | 192.168.1.0 | 11000000.10101000.00000001.00000000 |
يخبرك تدوين CIDR (على سبيل المثال ، / 24) عن عدد بتات 1-الرائدة الموجودة في قناع الشبكة الفرعية. يحتوي قناع / 24 على 24 واحدًا تليها 8 أصفار ، مما يسمح بـ 28 - 2 = 254 عنوانًا مضيفًا قابلاً للاستخدام لكل شبكة فرعية. يسمح قناع / 16 بـ 65،534 مضيفًا. يستخدم مهندسو الشبكة الرياضيات العقلية الثنائية يوميًا لتخطيط الشبكات الفرعية وحساب عناوين البث وحل المشاكل في التوجيه.
الثنائي في التشفير والأمن
تعمل خوارزميات التشفير الحديثة بالكامل على المستوى الثنائي ، وتتلاعب بالبتات الفردية من خلال مجموعات من XOR ، وتحولات البتات ، وعمليات الاستبدال. فهم الثنائي هو البوابة لفهم كيفية عمل الأمن الرقمي.
تشفير XOR (أساس الشفرات الحديثة):لدى XOR خاصية فريدة من نوعها -- تطبيقه مرتين بنفس المفتاح يعيد القيمة الأصلية: A K K = A. هذا يجعل XOR أساسًا لشفرات التدفق واللوحات لمرة واحدة.
مثال: تشفير البايت 01001101 (الحرف "M" في ASCII) مع المفتاح 10110010:
- النص العادي: 01001101
- مفتاح: 10110010
- XOR (شفرة): 11111111
- XOR مرة أخرى بنفس المفتاح (فك التشفير): 01001101 = "M"
أحجام المفتاح في التشفير الحديث:يستخدم AES-128 مفتاحًا 128 بتًا ، مما يعني أن هناك 2128 ~ 3.4 × 1038 مفتاحًا ممكنًا - أكثر من عدد الذرات في الكون المرئي. يستخدم AES-256 مفاتيحًا 256 بتًا مع 2256 إمكانية. حتى أسرع الحواسيب الفائقة لا يمكنها إجبار هذه المساحات الرئيسية. كل بت إضافي يضاعف مساحة البحث ، وهذا هو السبب في أن طول المفتاح مهم بشكل أسي في التشفير.
وظائف التجزئة مثل SHA-256 تنتج ناتجًا ثنائيًا من 256 بت (32 بايت) من أي مدخل. حتى تغيير بت واحد في المدخل ينتج تجزئة مختلفة تمامًا - وهي خاصية تسمى "تأثير البركان" التي تجعل التجزئة مفيدة للتحقق من سلامة البيانات وتخزين كلمات المرور وتشغيل تقنية blockchain.
الحوسبة الثنائية والكمية:في حين تستخدم أجهزة الكمبيوتر الكلاسيكية بتات ثنائية (0 أو 1) ، تستخدم أجهزة الكمبيوتر الكمومية الكوبيتات التي يمكن أن توجد في تجمع بين كلتا الحالتين في وقت واحد. يحتوي المفتاح الكلاسيكي البالغ 256 بت على 2256 قيمة ممكنة يجب التحقق منها بشكل متسلسل ؛ يمكن للكمبيوتر الكمومي الذي يدير خوارزمية غروفر البحث في هذا الفضاء في √(2256) = 2128 عملية. لهذا السبب يتم تطوير التشفير ما بعد الكمومية - لإنشاء مخططات تشفير قائمة على الثنائي التي تظل آمنة حتى ضد خصوم الكموم.
الأسئلة الشائعة
لماذا تستخدم أجهزة الكمبيوتر النظام الثنائي بدلاً من العشري؟
الدوائر الإلكترونية هي الأكثر موثوقية مع حالتين متميزتين فقط: تشغيل (ارتفاع الجهد ~ 1) وإيقاف التشغيل (انخفاض الجهد ~ 0). تمثيل 10 حالات متميزة للعشرية يتطلب تحكمًا أكثر دقة في الجهد الكهربائي وسيكون أكثر عرضة للضوضاء الكهربائية. بساطة الثنائية تسمح لمليارات الترانزستورات بالعمل بشكل موثوق بسرعة جيجاهيرتز مع مليارات العمليات في الثانية.
ما هو أكبر عدد يمكن أن يحتوي عليه بايت؟
يمكن أن يمثل البايت (8 بتات) 28 = 256 قيم مختلفة. بالنسبة للأعداد الصحيحة غير الموقعة: من 0 إلى 255. بالنسبة للأعداد الصحيحة الموقعة (كامل اثنين): -128 إلى 127. الحد الأقصى لقيمة البايت غير الموقعة في الثنائي هو 111111112 = 255; في السدسية هو FF.
كيف يمكنني تحويل رقم سالب إلى ثنائي؟
استخدم مكمل اثنين: (1) تحويل النسخة الإيجابية إلى ثنائية، (2) تحويل جميع البتات (0->1، 1->0) ، (3) إضافة 1. مثال -- -13 في 8 بت: +13 = 000011012, تحويل البتات = 111100102, إضافة 1 = 111100112. هذا هو كيف تخزن جميع أجهزة الكمبيوتر الحديثة الأعداد الصحيحة السلبية.
ما الفرق بين النظام الثنائي والنظام السداسي؟
كلاهما أنظمة أرقام موضعية تستخدم في الحوسبة. يستخدم ثنائي (قاعدة - 2) فقط 0 و 1 - اللغة الأصلية للكمبيوتر. يستخدم العشري (قاعدة - 16) 0 - 9 و A - F كرمز مضغوط للثنائي - كل 4 أرقام ثنائية تتوافق مع رقم هكس واحد بالضبط. يستخدم هكس لعناوين الذاكرة ، رموز الألوان (# RRGGBB) ، و رمز الآلة لأنه أكثر تركيزًا وقابلية للقراءة من الثنائي الخام.
ما هي العمليات البيتية المستخدمة؟
العمليات بت (AND, OR, XOR, NOT, shifts) تتلاعب بالبتات الفردية داخل الأعداد الصحيحة. الاستخدامات الشائعة: أعلام وتصاريح بت (Unix chmod) ، والتحقق من الزوجية / الفردية (n & 1) ، الضرب السريع / القسمة بالقوى من 2 (تحويل بت) ، خوارزميات التشفير ، وظائف التجزئة ، الكشف عن أخطاء CRC ، أقنعة الشبكة الفرعية ، وتطوير الألعاب (تخزين الحالة المدمجة في عدد صحيح واحد).
ما هو النقطة العائمة الثنائية ولماذا 0.1 + 0.2 ≠ 0.3 في البرمجة؟
معظم أجهزة الكمبيوتر الحديثة تستخدم IEEE 754 ثنائي النقطة العائمة، والتي تمثل الكسور العشرية في الثنائي. تماما مثل 1/3 = 0.3333... لا يمكن تمثيلها بالضبط في العشري، 1/10 لا يمكن تمثيلها بالضبط في الثنائي (إنه كسر ثنائي متكرر إلى ما لا نهاية). وهذا يسبب أخطاء تقريب صغيرة: في معظم اللغات، 0.1 + 0.2 = 0.30000000000000004. استخدام الحساب الصحيح (العمل في سنتات، وليس الدولارات) أو المكتبات العشرية للحسابات المالية الدقيقة.
كيف يتم استخدام الثنائي في تخزين البيانات وأحجام الملفات؟
يتم قياس التخزين بالبايت (8 بتات) ، الكيلوبايت (1,024 بايت) ، الميغابايت (1,024 كيلوبايت) ، جيجابايت (1,024 ميغابايت) ، وما إلى ذلك. ملاحظة: يستخدم مصنعو الأقراص الصلبة حروف أولية SI (1 كيلوبايت = 1,000 بايت) بينما تستخدم أنظمة التشغيل حروف أولية ثنائية (1 كيلوبايت = 1,024 بايت) ، مما يسبب التناقض الواضح في "المساحة المفقودة" عند شراء التخزين. يظهر محرك أقراص 1 تيرابايت ~ 931 جيجابايت في ويندوز لأن 1,000,000,000,000 ÷ 1,073,741,824 ~ 931.
ما هو العشري المشفر ثنائيًا (BCD) ؟
يتم ترميز BCD لكل رقم عشري كمجموعة ثنائية 4 بت: 0 = 0000 ، 1 = 0001 ، ... ، 9 = 1001. لذلك العشري 93 في BCD هو 1001 0011. يتم استخدام BCD في الأنظمة المالية (يتجنب أخطاء تقريب النقطة العائمة) ، والساعات والشاشات الرقمية (شاشات 7 شرائح ترميز BCD مباشرة) ، وأنظمة الكمبيوتر الرئيسية القديمة. إنه أقل كفاءة في المساحة من الثنائي النقي ولكنه يلغي أخطاء تحويل العشري إلى الثنائي في التطبيقات الحرجة.