Javascript - Как возвести в квадрат число? - PullRequest
4 голосов
/ 19 мая 2009

Использование функции JavaScript

function squareIt(number) {
   return number * number;
}

Когда задано число 4294967296, функция возвращает 18446744073709552000, возвращается

Все знают, что реальный ответ 18446744073709551616: -)

Полагаю, это связано с округлением на моей 32-битной машине. Однако даст ли этот сценарий правильный ответ на 64-битной машине? Кто-нибудь пробовал это?

Ответы [ 4 ]

3 голосов
/ 19 мая 2009

ChrisV- см. Этот пост . Кроме того, людям проще оценить ваш вопрос, введя следующий JavaScript прямо в текстовое поле URL браузера:

javascript:4294967296*4294967296
1 голос
/ 19 мая 2009

что по этому поводу

function squareIt(number){
return Math.pow(number,2)
}
1 голос
/ 19 мая 2009

Javascript использует 64-битную арифметику с плавающей запятой внутри для численных расчетов - результаты, которые вы видите, являются отражением этого и будут счастливы независимо от базовой архитектуры.

0 голосов
/ 07 декабря 2018

Вот еще один пример, основанный на BigInteger.js .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...