ForHosting KIT · أدوات المطورين

محول عشري إلى فاصلة ثابتة

حوّل عددًا عشريًا إلى العدد الصحيح المخزَّن بصيغة Q.n ذات الفاصلة الثابتة: العدد 0.1 مع 8 بتات كسرية يُخزَّن 26، وقيمته الحقيقية 0.1015625 بخطأ قدره 0.0015625. مناسب للبرمجيات الثابتة وDSP. مجاني في متصفحك.

  • مجاني
  • يعمل في متصفحك
  • دون تسجيل
  • بياناتك لا تغادر جهازك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا
إذا أدخلت
القيمة
0.1
البتات الكسرية
8
تحصل على
التقريب
Nearest
صيغة Q
Q.8
المقياس
256
الدقة
0.00390625

من يحوّل ثابت تصميم أو معامل مرشّح أو قراءة حسّاس يحتاج الصحيح المخزَّن وخطأ إعادة البناء بعد التقريب ودقة اثنين أس ناقص n — لا تفريغًا ست عشرياً لعوامة. يقبل محوّل العشري إلى فاصلة ثابتة قيمة عشرية حقيقية وعدّاً n من البتات الكسرية، ويضرب في اثنين أس n، ويثبّت على صحيح وفق نمط تقريب موثَّق، ويعيد الرمز المخزَّن والعدد الحقيقي المعاد بناءه وخطأ التقريب بإشارته ووحدة الخانة الأخيرة لشبكة Q.n تلك.

معنى صيغة Q وكيف يتكوّن الصحيح المخزَّن

صيغة Q، وكثيراً ما تُكتب Q.n أو Qn، هي الاصطلاح المستخدم في ترويسات Texas Instruments وARM CMSIS-DSP وفي عدد لا يُحصى من سلاسل أدوات FPGA لعدد ثنائي بفاصلة ثابتة فيه n بتات يمين النقطة الثنائية الضمنية. القيمة الحقيقية التي يمثّلها صحيح مخزَّن I هي I مقسوماً على اثنين أس n، فيكون تباعد الشبكة — الدقة، أو وحدة الخانة الأخيرة لذلك التنسيق — اثنين أس ناقص n تماماً.

لذلك يعني ترميز عشري x حساب x مضروباً في اثنين أس n ثم تقريبه إلى صحيح؛ أما فك الترميز فقسمة واحدة على المقياس نفسه. تشترك كل قيمة قابلة للتمثيل في الخطوة المطلقة نفسها، ولهذا تفضّله مرمّزات الصوت وحلقات التحكم بالمحركات وجداول البحث عندما تحتاج تقريباً حتمياً وضرباً وتراكماً صحيحين رخيصين. عبارات البحث مثل محوّل عشري إلى فاصلة ثابتة ومحوّل صيغة Q ومحوّل Q15 وتحويل عوامة إلى Q31 تصف هذا العمل بعينه: خذ عشرياً بشرياً، اختر n، واقرأ الصحيح المخزَّن ومقدار ما حرّكه التقريب.

ينفّذ هذا الطرف ذلك العقد ولا شيئاً سواه. تلك مقاصد بحث أخرى تخدمها أدوات أخرى. فحص كلاسيكي هو العشري عُشر مع ثماني بتات كسرية: المقياس مئتان وستة وخمسون، وتقريب nearest يخزّن ستة وعشرين، والقيمة المعاد بناؤها ستة وعشرون على مئتين وستة وخمسين، وخطأ التقريب بالإشارة هو الفرق عن العُشر — الثلاثية التي صُممت هذه الصفحة لإظهارها.

عقد الإدخال وأنماط التقريب وحقول الاستجابة

الحقول الناقصة والسلاسل الفارغة والقيم غير المنتهية وn غير الصحيح أو n خارج صفر إلى اثنين وخمسين تفشل أيضاً، ولا تُفوتر تلك الإخفاقات. إذا خرج حاصل value واثنين أس n عن نطاق الصحيح الآمن تُرفض المهمة بدلاً من إسقاط البتات الدنيا في صمت. اقرن الاستجابة بفحص عرض كلمة خاص بك إن احتجت أن تعلم هل stored يسع في سجل بإشارة من ستة عشر أو اثنين وثلاثين بتاً؛ هذا الطرف لا يفترض عرض بتات كلياً، لذا الشكل الست عشري مقدار بإشارة لا متمم ثنائي لحاوية خفية.

أين يبرّر محوّل صيغة Q وجوده

يستخدم مؤلفو البرمجيات المضمَّنة محوّل عشري إلى فاصلة ثابتة عندما يلصقون نقرة مرشّح أو كسب PID أو تحويل وحدات في ترويسة ويحتاجون الصحيح الدقيق الذي سيجلس في متغير Q15 أو Q31. تحتاج منصات FPGA وHDL الرقم نفسه حتى يطابق منبّه منصة الاختبار مسار RTL الذي لا يرى عوامة قط. تحوّل أدوات الألعاب والصوت عيّنات مُطبَّعة وأوزان تحريك إلى شبكة ثابتة قبل حزمها في أصل ثنائي، ثم تريد خطأ التقريب مطبوعاً بجانب الرمز حتى يرى فنّان هل تكفي ثماني بتات كسرية.

تحتاج القاعات التي تدرّس حساب الحواسيب وحياً حتمياً يعرض الدقة والخطأ معاً، لا عبارة مبهمة «اضرب في مئتين وستة وخمسين وقرّب». تستفيد مواقع المحتوى التي تتصدر لمحوّل عشري إلى فاصلة ثابتة من أداة حية يطابق مسارها المجاني في المتصفح مسار الأتمتة المدفوع مسبقاً بايتاً ببايت على الوحدة النقية نفسها.

ثوابت البرمجيات المضمَّنة ونقرات DSP

حوّل عشري تصميم إلى الصحيح Q15 أو Q.8 الذي يليق بترويسة، وأبقِ خطأ التقريب بجانب الرمز المخزَّن للمراجعة.

منصات اختبار FPGA وHDL

ولّد المنبّه نفسه بفاصلة ثابتة الذي سيراه RTL، بدقة صريحة اثنين أس ناقص n حتى تحتمل لوحات النتائج ulp واحداً.

فحوص حساب الحواسيب في القاعة

اعرض على الطلاب الصحيح المخزَّن والعدد الحقيقي المعاد بناءه والخطأ بالإشارة لأي n، بما في ذلك مثال العُشر الكلاسيكي غير الدقيق في الثنائي.

ما دقة عدد Q.n؟

الدقة هي 2^-n تماماً: الخطوة بين صحيحين مخزَّنين متجاورين.

لماذا لا يُخزَّن العُشر تخزيناً دقيقاً؟

0.1 ليس كسراً ثنائياً نسبياً. مع ثماني بتات كسرية أقرب صحيح مخزَّن هو 26، ويُعاد بناؤه 26/256 = 0.1015625.

كيف أحوّل عددًا عشريًا إلى Q15؟

اختر 15 بتًا كسريًا. تضرب الأداة العدد العشري في اثنين مرفوعًا إلى 15، وتقرّبه إلى عدد صحيح، وتعرض القيمة المخزنة والقيمة التي تمثلها فعلًا وخطأ التقريب، جاهزة للصقها في البرمجيات الثابتة.

ما أكبر عدد من البتات الكسرية يمكنني استخدامه؟

حتى 52. يجب أن يكون العدد صحيحًا من 0 إلى 52، وإذا خرج حاصل ضرب القيمة في اثنين مرفوعًا إلى تلك القوة عن نطاق الأعداد الصحيحة الآمنة، تُرفض العملية بدل أن تفقد البتات الدنيا بصمت.

أي طريقة تقريب أختار؟

الافتراضية هي الأقرب، مع إبعاد حالات المنتصف عن الصفر. وهناك أيضًا القطع نحو الصفر، والتقريب إلى الأسفل، والتقريب إلى الأعلى؛ اختر ما تستخدمه برمجياتك الثابتة أو دارتك ليتطابق العدد المخزَّن.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/dev/decimal-to-fixed-point

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/dev/decimal-to-fixed-point \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":0.1,"fractional_bits":8}'
{
  "value": 0.1,
  "fractional_bits": 8
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.decimal_to_fixed_point",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

max_fractional_bits52
HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

ما تزال البرمجيات المضمَّنة ونوى DSP ومسارات FPGA ومحركات الألعاب تخزّن إشارات كثيرة كأعداد صحيحة بفاصلة ثابتة بصيغة Q بدلاً من عوامات IEEE-754: يستقر عدد مختار من البتات يمين نقطة ثنائية ضمنية، فيصبح كل صحيح مخزَّن مضاعفاً لدقة ثابتة. الدالة النقية نفسها تشغّل الأداة المجانية في المتصفح ومسار API، فلا تختلف جداول البرمجيات المضمَّنة وفحوص الواجبات حول ترميز Q15 أو Q.8.

معنى صيغة Q وكيف يتكوّن الصحيح المخزَّن

هذا ليس فاصلة عائمة IEEE-754: لا حقل أُس، ولا واحد قائد مخفي، ولا فيضان سفلي تدريجي. لا يصدر ماكروهات C، ولا يحزم كلمة آلة كاملة بعرض بتات صحيحة مختار ما لم تفسّر الصحيح المخزَّن بنفسك، ولا يحوّل إلى أنماط بتات IEEE-754.

عقد الإدخال وأنماط التقريب وحقول الاستجابة

أرسل جسماً JSON بحقلين إلزاميين ونمط اختياري. value هو العشري المنتهي المراد ترميزه؛ قد يصل رقماً JSON أو سلسلة رقمية، وتُقبل الكنيتان decimal وnumber. fractional_bits هو الصحيح n في Q.n، من صفر إلى اثنين وخمسين ضمناً، حتى يبقى اثنان أس n صحيحاً آمناً دقيقاً في JavaScript؛ وتشمل الكُنى frac_bits وn وq. rounding اختياري وافتراضه nearest، أي النصف مبتعداً عن الصفر — اصطلاح معظم ملاحظات DSP، وليس اصطلاح JavaScript Math.round الذي يرسل التعادلات نحو موجب اللانهاية. الأنماط الموثَّقة الأخرى هي toward_zero (بتر الناتج المقاس) وfloor (نحو سالب اللانهاية) وceil (نحو موجب اللانهاية)؛ وأي رمز آخر يفشل بـ invalid_input. عند النجاح يعيد الجسم صدى value وfractional_bits، ويسمّي نمط التقريب، ويبلّغ q_format بوصفه Q.n، ويعيد scale (اثنان أس n) وresolution (اثنان أس ناقص n) وstored (رمز الصحيح) وstored_hex (ست عشري بالمقدار والإشارة) وreconstructed (stored على scale) وrounding_error (reconstructed ناقص القيمة الأصلية) وabs_error وقيمة منطقية exact عندما يكون الخطأ المقرَّب صفراً وسلسلة صيغة قصيرة.

أين يبرّر محوّل صيغة Q وجوده

ولأن التنفيذ تحليل parse من المستوى A خالص، تكلف كل دعوة ناجحة السعر الأساس المنشور $0.002 بلا رموز نموذج ولا شبكة صادرة؛ والتحقق الفاشل لا يستهلك الرصيد. أبقِ n في النطاق الموثَّق، وثبّت stored وrounding_error في مثبتات التكامل المستمر، فتحصل على ترميزات Q قابلة لإعادة الإنتاج للترويسات والمحاكيات والعُمّال على الحافة دون إقامة مكتبة عددية كاملة. إن كان مقصد البحث نمط IEEE-754 الست عشري لعوامة فاستخدم أداة نمط بتات بفاصلة عائمة؛ وإن كان المقصد صحيحاً Q.n مع خطئه ودقته فهذا هو العقد.

كيف يُحوَّل عدد عشري إلى صحيح بفاصلة ثابتة بصيغة Q؟

أرسل value منتهياً وfractional_bits صحيحاً n من 0 إلى 52. تعيد API القيمة stored = round(value × 2^n) إضافة إلى reconstructed وrounding_error وresolution 2^-n.

أي نمط تقريب ينبغي استخدامه؟

nearest (الافتراضي) هو النصف مبتعداً عن الصفر، اختيار DSP المعتاد. toward_zero يبتر، وfloor يتجه إلى −∞، وceil إلى +∞. يُعاد النمط المختار في الاستجابة.

كم تكلفة محوّل العشري إلى فاصلة ثابتة؟

أداة المتصفح مجانية. طلبات API تستخدم رصيد KIT المدفوع مسبقاً بسعر $0.002 لكل دعوة ناجحة؛ والإدخال غير الصالح لا يُفوتر.

اطّلع على توثيق KIT الكامل ←