Ahmed Ebrahim11 نشر 23 نوفمبر 2023 أرسل تقرير نشر 23 نوفمبر 2023 السلام عليكم لاحظت ان جافا اسكربت تتعامل مع طول معين للارقام ال binary حيث قمت بادخل 0000011110000111111110000 وخرج رقم غريب كيف اقوم بحل هذه المشكله حيث اني اريد ان تقوم بالعلاقه المعروفه لتحويله ل decimal 1 اقتباس
0 Adnane Kadri نشر 23 نوفمبر 2023 أرسل تقرير نشر 23 نوفمبر 2023 إذا كنت تتعامل مع أرقام بت طويلة في JavaScript، يمكن أن يؤدي ذلك إلى فقدان الدقة في بعض الحالات بسبب تمثيل الأعداد في JavaScript باستخدام تنسيق 64 بت للأرقام الثنائية (double-precision floating-point format). لتجنب فقدان الدقة، يمكنك استخدام نوع BigInt على نحو: const binaryString = '0000011110000111111110000'; const decimalNumber = BigInt(`0b${binaryString}`); console.log(decimalNumber); اقتباس
0 Ahmed Ebrahim11 نشر 23 نوفمبر 2023 الكاتب أرسل تقرير نشر 23 نوفمبر 2023 بتاريخ 6 دقائق مضت قال Adnane Kadri: إذا كنت تتعامل مع أرقام بت طويلة في JavaScript، يمكن أن يؤدي ذلك إلى فقدان الدقة في بعض الحالات بسبب تمثيل الأعداد في JavaScript باستخدام تنسيق 64 بت للأرقام الثنائية (double-precision floating-point format). لتجنب فقدان الدقة، يمكنك استخدام نوع BigInt على نحو: const binaryString = '0000011110000111111110000'; const decimalNumber = BigInt(`0b${binaryString}`); console.log(decimalNumber); يعطيني رساله can not convert 0b to a bigInt اقتباس
0 Adnane Kadri نشر 23 نوفمبر 2023 أرسل تقرير نشر 23 نوفمبر 2023 بتاريخ 12 ساعة قال Ahmed Ebrahim11: يعطيني رساله can not convert 0b to a bigInt تأكد من أن لا تضع القيمة مباشرة بداخل الأقواس المعقوفة، النتيجة يجب أن تبدوا كـ: const binaryString = '0000011110000111111110000'; const decimalNumber = BigInt(`0b${binaryString}`); console.log(decimalNumber); او مباشرة: const decimalNumber = BigInt(`0b0000011110000111111110000`); console.log(decimalNumber); اقتباس
0 Ahmed Ebrahim11 نشر 23 نوفمبر 2023 الكاتب أرسل تقرير نشر 23 نوفمبر 2023 بتاريخ منذ ساعة مضت قال Adnane Kadri: تأكد من أن لا تضع القيمة مباشرة بداخل الأقواس المعقوفة، النتيجة يجب أن تبدوا كـ: const binaryString = '0000011110000111111110000'; const decimalNumber = BigInt(`0b${binaryString}`); console.log(decimalNumber); او مباشرة: const decimalNumber = BigInt(`0b0000011110000111111110000`); console.log(decimalNumber); حسنا ولكني اخزن الرقم ف n واضع n ف bigInt لكي يصبح الكود متاح لأي رقم اقتباس
السؤال
Ahmed Ebrahim11
السلام عليكم
لاحظت ان جافا اسكربت تتعامل مع طول معين للارقام ال binary حيث قمت بادخل 0000011110000111111110000
وخرج رقم غريب
كيف اقوم بحل هذه المشكله حيث اني اريد ان تقوم بالعلاقه المعروفه لتحويله ل decimal
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.