JavaScript - كيف تربيع رقمًا؟
-
22-08-2019 - |
سؤال
باستخدام وظيفة JavaScript
function squareIt(number) {
return number * number;
}
عندما يتم إعطاء الرقم 4294967296 ، يتم إرجاع الوظيفة 18446744073709552000
يعلم الجميع أن الإجابة الحقيقية هي 18446744073709551616 :-)
أعتقد أن هذا هو مع التقريب على جهاز 32 بت. ومع ذلك ، هل يعطي هذا البرنامج النصي الإجابة الصحيحة على جهاز 64 بت؟ هل هناك اي احد جرب هذة؟
المحلول
كريسف- انظر هذا المنصب. كما أنه من الأسهل على الأشخاص تقييم سؤالك عن طريق كتابة JavaScript التالية مباشرة في مربع نص URL للمتصفح:
javascript:4294967296*4294967296
نصائح أخرى
يستخدم JavaScript 64 بت نقطة الحساب الداخلي داخليًا للحسابات العددية - النتائج التي تراها هي انعكاس لهذا ، وسوف يكون سعيدًا بغض النظر عن الهندسة المعمارية الأساسية.
ماذا عن هذا
function squareIt(number){
return Math.pow(number,2)
}
Here is one more example based on BigInteger.js.
alert(bigInt(4294967296).square());
<script src="https://cdnjs.cloudflare.com/ajax/libs/big-integer/1.6.40/BigInteger.min.js"></script>
لا تنتمي إلى StackOverflow