Float مزدوج الدقة إلى بتات
شاهد بدقة كيف يخزّن الحاسوب عددًا عشريًا بالدقة المزدوجة: يصبح العدد 1 هو 3FF0000000000000، ببت إشارة 0 وأس 1023 و52 بتًا من المانتيسا كلها أصفار. وتحمل الأصفار والأعداد دون الطبيعية واللانهاية تصنيفًا خاصًا بها. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- القيمة
- 1
- تنسيق الإخراج
- binary64
- البتات
- 64
- Hex
- 3FF0000000000000
- ستة عشري مع بادئة
- 0x3FF0000000000000
أدخل قيمة عشرية مثل واحد أو سالب ثلاثة فاصلة خمسة أو قيمة علمية، وتعيد الأداة الكلمة السداسية الكانونية بست عشرة خانة، والسلسلة الثنائية الكاملة بستين وأربعة بتات، وبت الإشارة، وحقل الأس المتحيز بأحد عشر بتاً، والمانتيسا باثنين وخمسين بتاً، والأس غير المتحيز عند تعريفه، وتسمية فئة للأعداد العادية ودون العادية والأصفار الموقعة واللانهايات وNaN. تتشارك ملفات تفريغ البرامج الثابتة وتتبعات الشبكة وبيئات تشغيل اللغات وتمارين الكتب هذا التخطيط الحتمي لـ binary64.
ما الذي تحمله بتات العدد الأربع والستون
تشغل قيمة binary64 بالضبط ستين وأربعة بتات مرتبة كبت إشارة واحد، وأحد عشر بت أس بانحياز ألف وثلاثة وعشرين، واثنين وخمسين بت مانتيسا صريحة (حقل الكسر أو الجزء المعنوي) مع واحد بادئ ضمني للأعداد العادية. بت الإشارة صفر للقيم غير السالبة وواحد للقيم السالبة بما فيها الصفر السالب. يرمز حقل الأس المتحيز لقوة الاثنين الحقيقية كعدد صحيح بلا إشارة: للأعداد العادية يساوي الأس غير المتحيز الحقل المتحيز ناقص ألف وثلاثة وعشرين.
تعيد الأنماط الخاصة استخدام نفس التخطيط بلا وسم منفصل: أس كله واحدات مع مانتيسا صفر هو لانهاية موقعة؛ أس كله واحدات مع مانتيسا غير صفر هو NaN؛ أس كله أصفار مع مانتيسا صفر هو صفر موقع؛ أس كله أصفار مع مانتيسا غير صفر هو عدد دون عادي يملأ الفجوة قرب الصفر. تستهدف هذه القدرة دائماً binary64 فقط—ولا تنتقل إلى الدقة المفردة باثنين وثلاثين بتاً—لذا لكل استجابة عرض حقل ثابت يمكنكم توثيقه في البروتوكولات والمُسلسِلات ومفاتيح الامتحان.
يستخدم الترميز ترتيب بايتات big-endian عبر DataView، موافقاً لاتفاق الشبكة والكتب بأن البت الأهم أولاً، بحيث يكون أول nibble سداسي دائماً الطرف العالي للكلمة وأول رقم ثنائي دائماً الإشارة.
متى تفيدك رؤية بتات العدد
يستخدم مبرمجو الأنظمة ومهندسو التضمين أداة float مزدوج الدقة إلى بتات عند مطابقة تفريغ الذاكرة وصيغ السلك وسجلات المصحح بالقيم العشرية دون إقامة مفكك كامل. يثبت مؤلفو اللغات والمكتبات ترميزات ذهبية في اختبارات وحدات المُسلسِلات وبذور التجزئة وتبادل العائم عبر المنصات حتى تفشل CI عندما تغيّر منصة التقريب بصمت. تستفيد مواقع المحتوى التي تترتب لعبارة float مزدوج الدقة إلى بتات من ودجة حية يطابق مسار المتصفح المجاني فيها مسار الأتمتة المدفوع بايتاً ببايت على نفس الوحدة الخالصة.
التحقق الفاشل لا يستهلك الرصيد.
حالات الاستخدام
تفريغ البرامج الثابتة والبروتوكولات
طابقوا double عشرياً مع hex لـ binary64 بترتيب big-endian من تفريغ الذاكرة أو سجلات CAN أو تتبعات الشبكة بمقارنة حقول الإشارة والأس والمانتيسا.
الأسئلة الشائعة
هل يمكن ترميز Infinity وNaN؟
نعم. أرسلوا Infinity أو -Infinity أو NaN كأرقام أو سلاسل مكتوبة. تطابق أنماط الأس القياسية كلها واحدات مع مانتيسا صفر أو غير صفر.
ما نمط البتات للعدد 1 بالدقة المزدوجة؟
الكلمة الست عشرية هي 3FF0000000000000. بت الإشارة 0، والأس 01111111111 أي 1023، وبتات المانتيسا كلها أصفار. الأس الحقيقي 0، فالقيمة تساوي واحدًا تمامًا.
لماذا يُخزَّن الأس بإزاحة قدرها 1023؟
كي تمثّل بتاته الأحد عشر قوى العدد اثنين الموجبة والسالبة في صورة عدد واحد بلا إشارة. في العدد الطبيعي اطرح 1023 من الأس المخزّن لتحصل على الأس الحقيقي.
كيف يبدو العدد دون الطبيعي في البتات؟
يكون الأس كله أصفارًا بينما المانتيسا ليست صفرًا. هذه الأعداد تملأ الفجوة بين الصفر وأصغر عدد طبيعي، وتضع الأداة عليها تصنيفًا حتى لا تختلط بالصفر ذي الإشارة.
لماذا يوجد صفر سالب؟
لأن بت الإشارة مستقل عن القيمة. فإذا بقي الأس والمانتيسا أصفارًا وكان بت الإشارة 1، فالنتيجة صفر سالب، وتميّزه الأداة عن الصفر العادي.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/ieee754-double-bits \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":1}'const res = await fetch("https://api.kit.forhosting.com/dev/ieee754-double-bits", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/ieee754-double-bits",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/ieee754-double-bits", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/ieee754-double-bits", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"value": 1
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.ieee754_double_bits",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
يُظهر محول float مزدوج الدقة إلى بتات النمط الدقيق بستين وأربعة بتات IEEE 754 الذي يستخدمه الحاسوب لعدد عائم. يُرفض النص غير الرقمي بـ invalid_input بدل إجباره بصمت. المسار حساب Worker خالص عبر DataView—بلا شبكة وبلا بذور عشوائية وبلا اعتماد على الساعة—لذا يعيد منفّذ المتصفح المجاني وAPI المدفوع مسبقاً نفس JSON في كل مرة لنفس الإدخال بسعر الأساس المنشور $0.002 لكل استدعاء ناجح.
ما يخزنه IEEE-754 binary64: الإشارة والأس والمانتيسا
IEEE-754 binary64 هو تنسيق التبادل الذي تستخدمه تقريباً كل CPU وGPU وبيئة تشغيل لغة حديثة لحساب النقطة العائمة مزدوجة الدقة.
عقد الإدخال وشكل الاستجابة وقراءة الحقول
تُقبل القيم الخاصة Infinity وInfinity السالب وNaN كأرقام أو كسلاسل مكتوبة لتفحصوا أنماط البتات الكانونية دون اختراع أعلام خارج النطاق. مثال: value يساوي واحداً ينتج hex يبدأ بثلاثة-F-F-صفر… وثنائي يبدأ بصفر يليه أحد عشر واحداً واثنان وخمسون بت مانتيسا صفراً، category normal، أس متحيز ألف وثلاثة وعشرين، أس غير متحيز صفر. اربطوا الاستجابة بعارضات التفريغ لديكم إن احتجتم مجموعات nibble متباعدة؛ يعيد هذا الطرف سلاسل hex وثنائية كثيفة جاهزة لاختبارات المساواة. أرسلوا جسم JSON بحقل إلزامي واحد اسمه value: عدد عائم مزدوج الدقة. قد يصل الحقل كرقم JSON أو كسلسلة رقمية؛ تُقبل الأسماء البديلة number وn وdecimal. الحقول الناقصة والسلاسل الفارغة والقيم المنطقية والكائنات والنص غير الرقمي تفشل بـ invalid_input مع تسمية الحقل ولا تُحاسب. عند النجاح يعيد الجسم القيمة المنشورة (NaN واللانهايات كسلاسل لأن JSON لا يحملها كأرقام)، وis_neg_zero عندما يكتشف Object.is الصفر السالب، وformat binary64، وbits ستين وأربعة، وhex بست عشرة خانة كبيرة بلا بادئة، وhex_prefixed ببادئة zero-x، وbinary كسلسلة بستين وأربعة رمزاً من أصفار وآحاد، وsign_bit وexponent_bits وmantissa_bits، وsign كزائد أو ناقص واحد، وbiased_exponent كعدد صحيح من صفر إلى ألفين وسبعة وأربعين، وunbiased_exponent عند تعريفه للحالات العادية ودون العادية، وcategory واحدة من normal أو subnormal أو pos_zero أو neg_zero أو pos_infinity أو neg_infinity أو nan، وexponent_bias دائماً ألف وثلاثة وعشرين.
أين تُثبت API لتحويل float مزدوج الدقة إلى بتات قيمتها
يحتاج المعلمون ومنصات الامتحان إلى أوراكل حتمي يُظهر للطلاب تقسيم الإشارة-الأس-المانتيسا لواجبات IEEE-754 بدل printf معتم للهكس وحده. تحتاج أنابيب البيانات وML أحياناً إلى إثبات أن كلمة binary64 المخزّنة تطابق ثابتاً موثقاً مثل pi أو حمولة NaN هادئة حارسة عند تدقيق حمولات parquet أو protobuf. لأن التنفيذ pure parse من المستوى A، يكلف كل استدعاء ناجح سعر الأساس المنشور $0.002 بلا رموز نموذج وبلا شبكة صادرة. أبقوا الطلبات على رقم واحد، وثبّتوا سلاسل hex والحقول في الاختبارات، فتحصلون على تخطيطات binary64 قابلة لإعادة الإنتاج لملاحظات البرامج الثابتة وإضافات LMS والعاملين على الحافة دون مكتبة IEEE محلية خاصة بكم.
حالات التكامل
ذهب المُسلسِلات واختبارات الوحدات
ثبّتوا ترميزات IEEE-754 المتوقعة للثوابت (1.0، -3.5، pi) في CI حتى لا ينحرف تبادل float عبر المنصات بصمت.
فحوصات قاعة IEEE-754
أظهروا للطلاب التخطيط الدقيق للبتات 1+11+52 في واجبات الدقة المزدوجة دون عد الحقول الثنائية يدوياً.
أسئلة تقنية
كيف أحول float مزدوج الدقة إلى بتات IEEE-754؟
أرسلوا جسم JSON مع value يساوي عددكم العشري. تعيد API الحقول hex وbinary وsign_bit وexponent_bits وmantissa_bits وcategory لترميز binary64.
هل هذا فقط لـ double بستين وأربعة بتات؟
نعم. ترمّز هذه القدرة دائماً IEEE-754 binary64 (1 بت إشارة + 11 أس + 52 مانتيسا). لا تنتقل إلى binary32 بدقة مفردة.
ما الخطأ عند إدخال غير رقمي؟
تفشل المهمة بـ invalid_input ورسالة تسمي الحقل. الإدخال غير الصالح لا يُحاسب.
كم تكلفة محول float مزدوج الدقة إلى بتات؟
أداة المتصفح مجانية. تستخدم طلبات API رصيد KIT المدفوع مسبقاً بسعر $0.002 لكل استدعاء ناجح؛ الإدخال غير الصالح لا يُحاسب.