محول float إلى IEEE-754
يُخزَّن العدد 3.14 بالدقة المزدوجة على شكل 0x40091EB851EB851F: بت إشارة واحد، و11 بتًا للأس، و52 بتًا للجزء الكسري، وكل جزء يظهر منفصلًا. فكّ أيضًا تفريغات سداسية عشرية وميّز الأصفار والأعداد دون الطبيعية واللانهاية وNaN بنظرة واحدة. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- قيمة الإدخال
- 3.14
- عرض IEEE-754: 32
- 64
- اتجاه التحويل
- From decimal
- عرض الدقة
- 64
- تنسيق الإخراج
- binary64
- عدد البتات
- 64
- سلسلة hex
- 40091EB851EB851F
أدخلوا قيمة عشرية مثل 3.14 أو ناقص واحد، واختاروا الدقة المفردة binary32 أو المزدوجة binary64، فتعيد الأداة الكلمة السداسية العشرية القانونية، والسلسلة الثنائية الكاملة، وبت الإشارة، وحقل الأس المنحاز، وبتات الجزء ذو المعنى، وتسمية فئة للأعداد العادية وغير العادية والأصفار ذات الإشارة واللانهايات وNaN. يمكنكم أيضًا لصق تفريغ hex أو سلسلة بتات وفكها إلى عشري، بحيث تتشارك تفريغات البرمجيات الثابتة وآثار الشبكة وتمارين الكتاب تخطيطًا حتميًا واحدًا.
ما الذي يخزّنه العدد العائم فعلًا
تخزّن معظم المعالجات الأعداد العشرية بالصيغة القياسية للفاصلة العائمة، التي تقسم عددًا ثابتًا من البتات إلى ثلاثة أجزاء. بت الإشارة يحدد هل القيمة موجبة أم سالبة. والأس يحدد المقياس ويُخزَّن مع انحياز ثابت حتى لا يحتاج إلى إشارة خاصة به. أما الجزء الكسري فيحمل الأرقام، مع واحد بادئ ضمني في الأعداد الطبيعية. وتمثّل الصيغة نفسها، دون أي علامة إضافية، الصفر ذا الإشارة والأعداد دون الطبيعية القريبة من الصفر واللانهاية وNaN.
متى تنظر إلى البتات، وما الأخطاء الشائعة
تفيد رؤية النمط عندما تبدو قيمة مقروءة من تفريغ ذاكرة أو التقاط شبكي أو ملف غير صحيحة، أو عندما تشرح في الصف سلوك الحساب العائم. الصق كلمة من ثمانية أرقام سداسية عشرية للدقة المفردة أو ستة عشر رقمًا للمزدوجة لتستعيد القيمة العشرية وفئتها. ومن الأخطاء الشائعة اختيار دقة خاطئة، وقراءة البايتات بالترتيب المعاكس، إذ تتبع الأداة الترتيب المعتاد من البايت الأعلى إلى الأدنى، ونسيان أن الأس المخزَّن يتضمن الانحياز.
ما الذي تحفظه الأعداد العائمة بدقة مفردة ومزدوجة
تشغل قيمة binary32 اثنين وثلاثين بتًا: بت إشارة واحد، وثمانية بتات أس بانحياز مئة وسبعة وعشرين، وثلاثة وعشرين بتًا صريحًا للجزء ذي المعنى مع واحد قائد ضمني للأعداد العادية. تشغل قيمة binary64 أربعة وستين بتًا: بت إشارة واحد، وأحد عشر بت أس بانحياز ألف وثلاثة وعشرين، واثنين وخمسين بتًا للجزء ذي المعنى.
نفس التخطيط يرمّز القيم الخاصة بلا وسم منفصل: أس كله واحدات مع جزء ذي معنى صفر هو لانهاية ذات إشارة؛ وأس كله واحدات مع جزء ذي معنى غير صفر هو NaN؛ وأس كله أصفار مع جزء ذي معنى صفر هو صفر ذو إشارة؛ وأس كله أصفار مع جزء ذي معنى غير صفر هو عدد غير عادي يملأ الفجوة قرب الصفر. المهندسون الذين يصلحون التسلسل، والمعلمون الذين يشرحون خطأ الفاصلة العائمة، ومهندسو العكس الذين يقرؤون تفريغ hex يحتاجون رؤية ذلك التخطيط صراحة.
حالات الاستخدام
تعليم حقول الإشارة والأس والجزء ذي المعنى
أظهروا للطلاب تخطيط البتات الدقيق لقيم الكتاب، بما في ذلك العادية وغير العادية والأصفار ذات الإشارة واللانهايات وNaN، بخطوات حتمية لأوراق العمل.
فك تفريغ hex من البرمجيات الثابتة والالتقاطات
الصقوا كلمة hex بثمانية أو ستة عشر رقمًا من تفريغ ذاكرة أو حزمة واستعيدوا الـ float العشري مع الفئة دون كتابة سكربت لمرة واحدة.
الأسئلة الشائعة
كيف أحوّل عددًا عشريًا إلى نمطه السداسي العشري بالفاصلة العائمة؟
أدخل العدد واختر الدقة المفردة أو المزدوجة، فتحصل على الكلمة السداسية العشرية وسلسلة البتات وكل جزء على حدة. فمثلًا يصبح 3.14 بالدقة المزدوجة 0x40091EB851EB851F.
ما الفرق بين الدقة المفردة والمزدوجة؟
الدقة المفردة (binary32) تستخدم 32 بتًا، والمزدوجة (binary64) تستخدم 64 بتًا: بت إشارة واحد، و11 بتًا للأس بانحياز 1023، و52 بتًا للجزء الكسري. أما المفردة فأسها وجزؤها الكسري أقصر.
كيف تُخزَّن اللانهاية وNaN؟
كلاهما له أس مكوّن من الآحاد فقط. إذا كان الجزء الكسري أصفارًا كلها فالقيمة لانهاية موجبة أو سالبة بحسب بت الإشارة، وإذا كان فيه أي بت يساوي واحدًا فالقيمة NaN.
ما العدد دون الطبيعي؟
هو قيمة أسها أصفار كلها وجزؤها الكسري غير صفري. يملأ الفجوة بين الصفر وأصغر عدد طبيعي على حساب بعض الدقة، وتوضح الأداة هذه الفئة في النتيجة.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/fmt/ieee754 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":3.14,"decimal":1}'const res = await fetch("https://api.kit.forhosting.com/fmt/ieee754", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 3.14,
"decimal": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fmt/ieee754",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 3.14,
"decimal": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fmt/ieee754", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":3.14,"decimal":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":3.14,"decimal":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fmt/ieee754", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"value": 3.14,
"decimal": 1
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fmt.ieee754",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_bits | 64 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
يعرض محول العائم IEEE-754 نمط البتات الدقيق الذي يستخدمه الحاسوب لعدد ذي فاصلة عائمة. يُرفض النص العشري غير العددي بـ invalid_input بدل الإكراه الصامت. المسار حساب Worker خالص عبر DataView—بلا شبكة، بلا بذور عشوائية، بلا اعتماد على ساعة الحائط—فيعيد منفّذ المتصفح المجاني وواجهة API مسبقة الدفع نفس JSON في كل مرة لنفس المدخل.
ما يخزّنه IEEE-754 binary32 وbinary64
IEEE-754 هو تنسيق التبادل الذي تستخدمه تقريبًا كل وحدة معالجة مركزية ووحدة رسوميات وبيئة تشغيل لغة حديثة للحساب الثنائي بفاصلة عائمة. هذه القدرة لا تخترع ترميزًا مخصصًا: تستخدم دوال جلب وتعيين float بترتيب البايتات الكبير من DataView للمنصة حتى تطابق سلسلة hex تفريغ الذاكرة التقليدي لكلمة IEEE ذات ترتيب البايتات الكبير، والسلسلة الثنائية هي ببساطة تلك البايتات موسّعة بتًا بتًا من الأكثر أهمية إلى الأقل أهمية.
كيفية استدعاء API وما الذي يُعاد
أرسلوا جسم JSON بحقل مصدر واحد على الأقل. لترميز عشري، عيّنوا value (أسماء بديلة decimal وnumber وn) إلى عدد منتهٍ أو إلى Infinity أو ناقص Infinity أو NaN حين تكون تلك القيم الخاصة قابلة للتمثيل في عميلكم. لفك نمط بتات، عيّنوا hex إلى سلسلة سداسية عشرية بـ 0x اختياري حتى ثمانية أرقام لـ binary32 أو ستة عشر لـ binary64، أو عيّنوا binary (اسم بديل bits) إلى سلسلة أصفار وآحاد بطول مطابق؛ تُحشى الأنماط الأقصر من اليسار بأصفار. precision الاختياري (أسماء بديلة format وwidth) يختار عرض اثنين وثلاثين أو أربعة وستين بتًا ويقبل أسماء مثل single وdouble وbinary32 وbinary64؛ الافتراضي أربعة وستون. direction الاختياري (اسم بديل mode) يفرض from_decimal أو from_hex أو from_binary؛ auto يختار من الحقول الحاضرة ويفضّل value عند تعيين عدة. عند النجاح تتضمن الاستجابة value (بأشكال سلسلة لـ NaN واللانهايات) وis_neg_zero وprecision واسم format وbits وhex وhex_prefixed وbinary وsign_bit وexponent_bits وmantissa_bits وsignificand_bits وsign كزائد أو ناقص واحد وbiased_exponent وunbiased_exponent عند تعريفه وcategory وexponent_bias وsource وmessage وsteps مرتبة. التحقق الفاشل—غياب كل حقول المصدر أو نص عشري غير عددي أو أرقام hex غير صالحة أو أحرف غير ثنائية—يعيد invalid_input ولا يُحاسب أبدًا. التسعير مبلغ ثابت $0.002 لكل طلب ناجح بوحدة item وسعر هامشي صفري.
نصائح عملية وحدود وعمليات بحث ذات صلة
فضّلوا precision أربعة وستون حين يكون المصدر رقم JavaScript أو نوع مضيف binary64 آخر، وانتقلوا إلى اثنين وثلاثين فقط عند مطابقة تخزين float أو float32 على السلك أو في تنسيق ملف. في الذهاب والإياب، رمّزوا قيمة ثم فكوا الـ hex المعاد بنفس precision وتأكدوا من تطابق category والحقول. أبقوا الأنماط ضمن عرض البتات المنشور؛ الأنماط الأطول من precision المختارة تُرفض بدل الاقتطاع الذي يغيّر القيمة صامتًا. تذكّروا أن كثيرًا من العشريات مثل العشر لا تملك توسعة ثنائية منتهية؛ الـ hex الذي ترونه هو ترميز IEEE المُقرّب صحيحًا لا خطأ. استخدموا أمثلة الصفر ذي الإشارة واللانهاية وNaN عند تعليم الخواص: ترميز الصفر والصفر السالب ينتج بتات إشارة متمايزة والفئتين pos_zero وneg_zero رغم أن JSON يطبع كليهما صفرًا والأداة تعرض is_neg_zero لتلك الحالة. تستهدف هذه الصفحة من يبحثون عن محول float إلى IEEE-754 أو تفريغ hex بدقة مفردة أو مزدوجة أو أداة نمط بتات بفاصلة عائمة ثنائية؛ وهي ليست محول فاصلة عائمة عشرية (decimal64) ولا حاسبة دقة اعتباطية ولا أداة عامة hex-إلى-ثنائي للأعداد الصحيحة—استخدموا القدرة الشقيقة hex-إلى-ثنائي حين تحتاجون تحويل قاعدة صحيحة فقط. المهام الفاشلة التي تعيد invalid_input لا تستهلك الرصيد المسبق الدفع، فيبقى الاستكشاف رخيصًا حين يرسل المتعلمون عمدًا سلاسل مهملات.
حالات التكامل
تصحيح تسلسل ثنائي للعوائم
أكدوا أن float كتبه خدمة يطابق hex IEEE-754 الذي تقرؤه خدمة أخرى، لتنسيقات السلك binary32 وتفريغات binary64 المجاورة لـ JSON.
أسئلة تقنية
ما هو IEEE-754 binary64؟
Binary64 هو تنسيق الدقة المزدوجة 64 بت: 1 بت إشارة، 11 بت أس (انحياز 1023)، و52 بت جزء ذي معنى. هو التنسيق الذي يستخدمه JavaScript Number ومعظم وحدات المعالجة لقيم double.
كيف أحوّل float إلى hex؟
أرسلوا value مع العدد العشري وprecision اختياري 32 أو 64. حقلا hex وhex_prefixed في الاستجابة هما نمط بتات IEEE-754 بترتيب البايتات الكبير.
هل يمكنني فك hex إلى float؟
نعم. عيّنوا hex لنمط البتات (0x اختياري) وprecision للعرض. value في الاستجابة هو العشري المفكوك (أو سلاسل NaN / Infinity عند الاقتضاء).
ماذا يحدث عند مدخل غير عددي؟
النص العشري الذي ليس عددًا يعيد invalid_input ولا يُحاسب. الخواص الصالحة Infinity و-Infinity وNaN تُقبل كترميزات IEEE.
هل محول IEEE-754 مجاني؟
أداة المتصفح مجانية وتعمل محليًا. تستدعي مكالمات API رصيد KIT مسبق الدفع بـ $0.002 لكل طلب ناجح؛ المهام الفاشلة لا تُحاسب أبدًا.