آلة حاسبة للتعبيرات
حساباتاحسب بأمان تعبيرًا حسابيًا مع + − × ÷ % ^ والأقواس. بدون eval ودون تنفيذ كود.
في هذه الصفحة
ما هذه الحاسبة؟#
إنّها آلة حاسبة حسابيّة مجرّدة تُقدِّر تعبيرًا رياضيًّا تكتبه كنصّ — (12 * 1.08) + 7 أو 2^10 % 256 — وتعطيك الرقم. لا أزرار دوالّ لتُنقر؛ تكتب التعبير كلّه وتضغط مفتاحًا واحدًا.
الجزء المهمّ كيف بُنيت. معظم الحاسبات السريعة على الويب تغشّ بإعطاء سلسلتك إلى eval() في JavaScript، التي تُشغِّل أيّ شيفرة — جيّد للّعبة، وقبيح لحظة يُلصق فيها شخص شيء ذكيّ. هذه لا تفعل: تُشغِّل محلِّلًا انحداريًّا يدويَّ الكتابة يقبل الأرقام، والأقواس، والمُعامِلات + - * / % ^ فقط. أيّ شيء خارج تلك القواعد يُرفض على الفور. النتيجة حاسبة فعلًا لا تستطيع تشغيل شيفرة، ولهذا السبب بالضبط آمنة للّصق فيها.
كيف تستخدمها#
- اكتب تعبيرك في صندوق الإدخال. تُهمَل المسافات، فـ
1+2و1 + 2الشيء نفسه. - المُعامِلات:
+-*/للأربع أساسيّات، و%للو-modulo (الباقي)، و^للقوّة. الأقواس()تجمع. السالب الأحاديّ يعمل، فـ-5 + 3هو-2. - الكسور العشريّة والتدوين العلميّ مقبولان:
0.5، و1e3(التي هي 1000)، و2.5e-2. - انقر احسب (أو اضغط Enter). يُظهر سطر النتيجة الرقم، أو رسالة سطريّة تُسمّي المشكلة —
قسمة على صفر،محرف غير متوقَّع،أقواس غير متوازنة، وهكذا — كي تُصلح التعبير بدل تخمين ما خطب. - يُنظَّف غبار النقطة العائمة الثنائيّ تلقائيًّا، فيُظهر
0.1 + 0.2الناتج0.3، لا0.30000000000000004.
أبرز المزايا#
- لا
eval، ولاnew Function، ولا مُعرِّفات. تُقبَل الأرقام وسبعة محارف مُعامِلات فقط — قواعد محدودة بالكامل، لا تنفيذ شيفرة تعسفيّ. - أولويّة المُعامِلات الصحيحة (PEMDAS): الأقواس، ثمّ
^، ثمّ* / %، ثمّ+ -. - قوّة رابطة يمينيّة. يُقدِّر
2^3^2بالطريقة التي يكتبها بها الرياضيّون (انظر المثال العمليّ). - التدوين العلميّ (
6.022e23) والو-modulo (17 % 5) لحسابات ظهر الظرف الحقيقيّة. - أخطاء ودودة ومحدَّدة تُسمّي الفشل (قسمة على صفر، تعبير مقطوع، رقم سيّئ) مع الموضع المُسيء، بدلًا من
NaNصامت.
مثال عملي#
ثلاثة تعابير تُظهر كلّ واحد سلوكًا مختلفًا. الصقها واحدًا في كلّ مرّة.
أولويّة المُعامِلات والتجميع.
(1 + 2) * 3 ^ 2
النتيجة: 27. تُجبر الأقواس 1 + 2 = 3 أولًا؛ ثمّ يُقدَّر 3 ^ 2 قبل الضرب (القوّة تربط أحدّ من *)، فتعطي 9؛ أخيرًا 3 * 9 = 27. بلا الأقواس، يكون 1 + 2 * 3 ^ 2 هو 1 + 18 = 19.
قوّة رابطة يمينيّة.
2 ^ 3 ^ 2
النتيجة: 512، لا 64. القوّة ترتبط لليمين، فهذا 2 ^ (3 ^ 2) = 2 ^ 9 = 512. إن أردت فعلًا (2 ^ 3) ^ 2 = 64، اكتب الأقواس.
إزالة الغبار الثنائيّ.
0.1 + 0.2
النتيجة: 0.3. مجموع النقطة العائمة الثنائيّ الخامّ هو 0.30000000000000004؛ يُعيد المُنسِّق تقريبه إلى عدد معقول من الأرقام المهمّة كي يُقرأ الناتج كما يتوقّعه الإنسان.
الأسئلة الشائعة#
لماذا لا أستطيع استخدام sin أو log أو sqrt أو pi؟#
لأنّ تلك مُعرِّفات، والمُعرِّفات عمدًا ليست جزءًا من القواعد. كلّ اسم يُرفض كـ محرف غير متوقَّع — هذا هو السطر الذي يمنع الحاسبة من تنفيذ شيفرة أبدًا. إن احتجت sqrt(16)، أعد كتابتها كـ 16 ^ 0.5؛ ولـ log وsin، استخدم آلة حاسبة علميّة.
هل 2^3^2 تعطي 512 أم 64؟#
512. المُعامِل ^ رابطة يمينيّة، يطابق الاتفاقيّة المستخدمة في الرياضيات وفي مُعامِل القوّة لمعظم لغات البرمجة. يُحلَّل 2^3^2 كـ 2^(3^2). للحصول على 64، اكتب (2^3)^2.
ماذا يفعل المُعامِل % هنا؟#
إنّه modulo — الباقي بعد قسمة الأعداد الصحيحة — لا «نسبة مئويّة». 17 % 5 هو 2، لأنّ 17 مقسومة على 5 تترك باقيًا 2. مفيد لـ «هل هذا الرقم زوجيّ؟» (n % 2)، أو لفّ القيم إلى مدى، أو حساب الساعة. له الأولويّة نفسها لـ * و/.
هل تُرسَل تعبيرتي إلى خادم؟#
لا. يُحلَّل ويُقدَّر بالكامل في متصفّحك بمحلِّل يدويّ الكتابة — لا يوجد خلفيّ، والمدخل لا يغادر الصفحة أبدًا.