حاسبة OR بتّي
5 OR 3 يساوي 7: في النظام الثنائي يُصفّ 101 و11 من اليمين، ويحتفظ كل عمود فيه 1 بهذا الواحد فيكون الناتج 111. أدخل عددين صحيحين لتحصل على ناتج OR الدقيق دون قصّ إلى 32 بت. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- A
- 5
- B
- 3
- النتيجة
- 7
- التعبير
- 5 | 3 = 7
- ثنائي a
- 101
- ثنائي b
- 11
عملية OR البتّية هي عملية الأعداد الصحيحة التي تضع بتّاً في الناتج حيثما كان ذلك البتّ مضبوطاً في المعامل الأول أو الثاني أو في كليهما. يكتبها المطوّرون بشريط عمودي في C وJava وJavaScript وPython وGo ومعظم لهجات التجميع كلما دمجوا أعلام الصلاحيات أو حزموا بتّات الميزات أو جمعوا أقنعة سجلات العتاد. يلتقيها الدارسون حين يحوّلون عددين عشريين إلى ثنائي ويصفّون البتّات من الطرف الأقل أهمية ويكتبون واحداً في كل عمود فيه واحد مسبقاً. تقبل هذه الحاسبة عددين صحيحين، وتقيّم OR البتّي الشامل بحساب صحيح دقيق بدل بتر اللغة إلى اثنين وثلاثين بتّاً، وتعيد العدد الصحيح الناتج مع العروض الثنائية للمدخلين والجواب حتى يتسنى تدقيق قاعدة الأعمدة بالعين.
ماذا يفعل OR البتّي بكل بتّ
عملية OR البتّية، المكتوبة بشريط عمودي في C وJava وJavaScript وPython ومعظم لغات التجميع، تبني عدداً صحيحاً ناتجاً يكون بتّه في الموضع k واحداً كلما كان البتّ في ذلك الموضع واحداً في المعامل الأول أو الثاني أو كليهما. القاعدة هي الفصل الشامل لبتّين: صفر أو صفر يعطي صفراً؛ وأي تركيب آخر يعطي واحداً. ذلك يختلف عن أو الاستثنائي الذي يطفئ بتّاً عندما يملكه الجانبان مسبقاً، وعن أو المنطقي الذي يختزل كل معامل إلى صادق أو كاذب واحد بدل السير على متجه البتّات.
زوج عشري محلول يجعل قاعدة الأعمدة ملموسة. خمسة في الثنائي واحد-صفر-واحد وثلاثة واحد-واحد؛ بمحاذاة تلك البتّات من الطرف الأقل أهمية يُحصل على واحد-واحد-واحد، أي سبعة. اثنا عشر واحد-واحد-صفر-صفر وعشرة واحد-صفر-واحد-صفر؛ والأو الشامل عموداً بعمود واحد-واحد-واحد-صفر، أي أربعة عشر.
الهوية نفسها هي كيف تجمع كلمات الأعلام الصلاحيات: إن كانت القراءة البتّ صفر والكتابة البتّ واحد، فالقراءة أو الكتابة هي العدد الصحيح ثلاثة. خرائط سجلات العتاد وبتّات نمط الملف وأعلام بروتوكولات الشبكة تستخدم كلها نمط دمج الآحاد هذا. يطبّق هذا المسار ذلك التعريف على عددين صحيحين ويعيد العدد المدمج؛ ولا يفسّر أعلاماً مسماة نيابة عن المستخدم، ولا يبتر المعاملين إلى اثنين وثلاثين بتّاً كما يفعل غالباً عامل لغة خام حين تقع البتّات العليا فوق كلمة آلة.
أين تبرر حاسبة OR البتّي وجودها
يستخدم المطوّرون حاسبة OR بتّية عند تجميع أقنعة الصلاحيات أو دمج بتّات الميزات أو التحقق من أن ثابتاً في ترويسة هو حقاً التركيب الشامل الذي يظنونه. عمل التضمين والبروتوكول يوثّق السجلات غالباً كتفريغ ست عشري؛ تحويل عددين صحيحين وأوْرهما وقراءة الحقول الثنائية أسرع من فتح منقّح لحالة واحدة. تقدّم مقررات علوم الحاسوب OR البتّي في الأسبوع نفسه مع and وxor والإزاحات؛ ويتيح وحي حتمي لمنصة تعلّم تصحيح الجواب العشري وسلسلة البتّات دون تنفيذ شفرة دارس غير موثوقة.
الإدخال غير الصالح لا يستهلك رصيداً. يُبقى الطلب على عددين صحيحين آمنين، وتُثبَّت أمثلة المرجع في الاختبارات، فيحصل المرء على نفس a شريط-عمودي b على حاسوب محمول وفي عامل أتمتة دون إقامة نظام جبر حاسوبي لعمل تعليمة واحدة. المعاملات الكبيرة مثل اثنين مرفوعاً إلى الأربعين أو واحد تبقى دقيقة هنا؛ عامل لغة باثنين وثلاثين بتّاً كان ليسقط تلك البتّات العليا ويعيد واحداً خاطئاً، وهو بالضبط صنف الخلل الصامت الذي كُتب هذا العقد لمنعه.
حالات الاستخدام
أقنعة الصلاحيات وأعلام الميزات
ادمج كلمتي أعلام صحيحتين (قراءة أو كتابة، ميزة A أو ميزة B) واقرأ الناتج العشري مع البتّات الثنائية لتأكيد الاتحاد.
واجبات صفّية لعمليات البتّ
دع الدارسين يرسلون عددين صحيحين ويتحققوا من a | b العشري وقاعدة العمود الثنائي أمام وحي حتمي يرفض غير الصحيح.
ثوابت السجلات والبروتوكول
تحقق من أن قناعاً موثّقاً للعتاد أو للبروتوكول هو OR الشامل لحقلين مدرجين، دون فتح منقّح أو الاعتماد على بتر 32 بتّاً.
الأسئلة الشائعة
ماذا يحدث إن لم يكن المدخل عدداً صحيحاً؟
تُرفض العوائم والنص والقيم المنطقية والقيم الغائبة والأعداد غير المنتهية ولا تُفوتر.
هل هذا نفس عامل | في JavaScript؟
قاعدة البتّ واحدة، لكن هذه الحاسبة تستخدم OR صحيحاً بعرض غير محدود. غالباً يبتر | اللغة إلى اثنين وثلاثين بتّاً، فيصير 2^40 | 1 هناك واحداً ويبقى دقيقاً هنا.
هل يعمل OR البتّي مع الأعداد الصحيحة السالبة؟
نعم. القيم ذات الإشارة تستخدم OR شاملاً بمتممة الاثنين. الناتج عدد صحيح آمن؛ والحقول الثنائية تُظهر ناقصاً بادئاً للسوالب.
ما الفرق بين OR على مستوى البت وXOR والفصل المنطقي؟
يضع OR على مستوى البت القيمة 1 حيثما وُجدت في أحد العددين، حتى لو وُجدت فيهما معًا. أما XOR فيطفئ ذلك البت المشترك، بينما يعامل الفصل المنطقي كل عدد على أنه قيمة صحيحة أو خاطئة واحدة دون مقارنة البتات.
كيف أجمع صلاحيات الوصول باستخدام OR؟
خصص لكل صلاحية بتًا مستقلًا ثم اجمعها بعملية OR. فإذا كانت القراءة البت 0 وقيمته 1، والكتابة البت 1 وقيمته 2، فإن القراءة OR الكتابة تساوي 3، وهو عدد واحد يحمل الصلاحيتين.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/math/or \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":5,"b":3}'const res = await fetch("https://api.kit.forhosting.com/math/or", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 5,
"b": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/or",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 5,
"b": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/or", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":5,"b":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":5,"b":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/or", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"a": 5,
"b": 3
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.or",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_abs | 9007199254740991 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
أي معامل ليس عدداً صحيحاً منتهياً يُرفض بـ invalid_input بدل أن يُقطع في صمت. الدالة النقية نفسها تشغّل ودجة المتصفح المجانية ومسار API، فلا يختلف تصحيح واجب وسكربت إنتاج على زوج مثل خمسة أو ثلاثة.
عقد الإدخال وشكل الإخراج والتحقق
لا تقطع التنفيذ عوماً في صمت: إرسال خمسة فاصلة خمسة خطأ، لا خمسة مكرهة، وهذا يمنع الخلل الكلاسيكي حيث يبتر عامل بتّي في اللغة نحو الصفر ويعيد مع ذلك عدداً. التحقق الفاشل لا يُفوتر. يُرسل بـ POST كائن JSON بعددين صحيحين إلزاميين، a وb. يجوز أن يصل كل حقل عدداً JSON أو سلسلة أرقام عشرية، مع إشارة بادئة اختيارية. تُقبل الأسماء البديلة x أو left للحقل a، وy أو right للحقل b؛ وتبقى الأسماء القانونية ظاهرة في الرد. الحقول الغائبة والسلاسل الفارغة والقيم المنطقية والكائنات والنص غير العددي واللانهايات وأي قيمة ليست عدداً صحيحاً منتهياً تفشل بـ invalid_input وتسمّي الحقل المخطئ، حتى يبرز محرّك النموذج عنصر التحكم. تُرفض القيم خارج نطاق الأعداد الصحيحة الآمنة أيضاً لأن نوع العدد في JSON لا يمثلها بدقة. عند النجاح يعيد الجسم صدى a وb، ويعيد result بوصفه العدد الصحيح لـ OR البتّي للزوج، ويتضمن سلسلة تعبير مثل خمسة شريط-عمودي ثلاثة يساوي سبعة، ويتضمن binary_a وbinary_b وbinary_result لتدقيق قاعدة الأعمدة دون خطوة تحويل ثانية. يستخدم الحساب أوًا بمتممة الاثنين بعرض غير محدود عبر BigInt ثم يعود إلى عدد JSON مضمون البقاء داخل النطاق الآمن لأن المدخلين كانا فيه مسبقاً. يُقرن JSON بواجهة خاصة إن لزم تسميات أعلام مسماة؛ هذه القدرة تحسب عملية العدد الصحيح فحسب.
أين تبرر حاسبة OR البتّي وجودها
خطوط أنابيب البيانات التي تحزم أعلاماً فئوية في عدد صحيح واحد تستطيع استدعاء API من أي لغة تتحدث JSON بدل إعادة تنفيذ قواعد عرض متممة الاثنين في كل بيئة تشغيل. ولأن التنفيذ تحليل خالص من المرتبة A، ودجة المتصفح مجانية واستدعاء API الناجح يكلف $0.002 المنشور، بلا رموز نموذج ولا شبكة صادرة.
أسئلة تقنية
كيف يُحسب OR البتّي لعددين صحيحين؟
أرسِل الصحيحين a وb (أو البديلين x/left وy/right). تعيد API القيمة result = a | b وسلسلة تعبير والعروض الثنائية للمعاملين والجواب.
كم تكلفة حاسبة OR البتّي؟
أداة المتصفح مجانية. طلبات API تستخدم رصيد KIT المدفوع مسبقاً بسعر $0.002 لكل استدعاء ناجح؛ والإدخال غير الصالح لا يُفوتر.