linux-BR.org

Notícias de software livre e tecnologias

As leis da exponenciação dizem que os seguintes são equivalentes:
\ [\ esquerda (\ frac {x} {y} \ direita)^\ frac {a} {b} = \ esquerda (\ esquerda (\ frac {x} {y} \ direita)^\ frac {1} {{{b} \ direita)^a = \ esquerda (\ frac {x^\ frac {1} {b}} {y^\ frac {1} {b}} \ direita)^a \]
Já sabemos como levar um bigint ao poder de outro bigint.Bem, há outra equivalência que podemos trazer aqui:
\ [x^\ frac {1} {n} = \ sqrt [n] {x} \]
Isto é, levar \ (x \) ao poder de \ (\ frac {1} {n} \) é equivalente a encontrar a enésima raiz de \ (x \).$$
\ Begin {align}
0.987654321 \ times10^{9} & = \ frac {9876543210} {10^{1}} \\
& = \ frac {987654321} {1}
\ end {align}
$$
Para fazer tudo isso acontecer, definimos algumas funções ajudantes:
Com aqueles em vigor, podemos colocar o funcionamento inteiro do Number ().Mas seria bom se nossa biblioteca pudesse dizer se, digamos, \ (\ frac {1} {2} \) fosse igual a \ (\ frac {2} {4} \).A lei de poder para os índices parece assim:
$$
\ esquerda (\ frac {x} {y} \ direita)^{n} = \ frac {x^n} {y^n}
$$
Portanto, um primeiro corte do nosso método de exponenciação pode parecer algo assim:
Isso funciona bem.

Fonte: https://jrsinclair.com/articles/2020/sick-of-the-jokes-write-your-own-arbitrary-precision-javascript-math-library/