Perché il passaggio a un numero intero espresso come un numero in virgola mobile dà risultati diversi all'innalzamento dello stesso numero nella sua forma intera?pow() sollevamento a float
Es .:
>>> pow(10,25)%195
10L
>>> pow(10,25.0)%195
64.0
Ho provato con mpmath's power()
invece, ma ottenere gli stessi numeri esatti - e l'errore - come la seconda forma.
Come posso elevare a potenze non grandi di interi molto grandi ed eseguire mod su di esse (ad esempio i passaggi per eseguire una logica simile a RSA usando la matematica pura) in Python?
[Ciò che ogni scienziato informatico dovrebbe sapere sull'aritmetica a virgola mobile] (http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html) – orlp
Perché è necessario? RSA non usa esponenti non interi . – Aleph
@AnotherTest sì, stavo guardando il modulo come è stato colpito da come RSA fosse, * tranne * che ho un esponente non intero. – Will