Что нового

Возведения числа в большую степень, больше чем Int64

damien2008

Осваивающий
Сообщения
178
Репутация
34
Собственно сабж.
Всем привет!
Есть такой вопрос, может кто сталкивался.
При возведении числа в большую степень Autoit (3.3.10.2, или любая другая)
,например, 2 ^ 49 = 562949953421312, уже в 50 степени выдает число с экспонентой,
причем если сделать так:
Код:
$c = 2 ^ 49
$a = Number(string($c))
$g = 2 ^ 14
$g = Number(string($g))
ConsoleWrite('$a = ' & $a * $g & @CRLF)

то самое большое Int64 число будет со знаком минус: $a = -9223372036854775808 т.е. 2 ^ 64 = -9223372036854775808
как так?

можно ли как-то возвести 2 в степень 64 (2 ^ 64) и получить нормальное число?
есть ли возможность использовать в Autoit еще большие степени?
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Код:
#include 'bignum.au3'
ConsoleWrite(_BigNum_Pow(2,64) & @LF)
 
Автор
damien2008

damien2008

Осваивающий
Сообщения
178
Репутация
34
sngr
вау! спасибо)
это нереально крутая UDF-ка)
:smile:
 
Верх