<- Tilbage


Documentation
Download

Software Emuleret Matematisk Modul

Under arbejdet med mit krypteringsmodul løb jeg ind i nogle problemer med matematiske beregninger af store tal. Når et tal overstiger en vis størrelse beregnes det ikke som et ægte tal (Integer), men bliver i stedet omregnet til en floating-point data type. Når tallene opnår denne størrelse mister de noget af sin præcision og dette kan i vise tilfælde ikke tillades. Jeg kunne ikke acceptere at "2.34E+34 +1" stadigvæk giver "2.34E+34". Derfor besluttede jeg at oprette et modul som kan regne med kæmpe tal, uden at miste sin præcision.

Modulet kommer til at indeholde de mest benyttede matematiske metoder, som addition, subtraktion, division, multiplikation etc. Alt input og output til modulet vil foregå med strings, som skal indeholde de måske kæmpe tal som man i sine programmer ønsker at benytte. Det højeste ægte tal man i Visual Basic kan bruge er: 2.147.483.647, men med dette modul kan man i teorien regne med lige så store tal som man ønsker, uden at miste noget præcision!

Den model jeg vil bruge til udarbejdelsen af modulet bliver software-emulering. Det vil sige, at i stedet for at bruge de færdige hardware-betonede regnemetoder som f.eks at lægge to integers sammen, laver jeg alle beregningerne fra bunden. Det vil faktisk sige at modulet indeholder 3-5. klasses matematik, altså de grundlæggende regnemetoder.

Status: Version 1.0

Modul lavet af: Anders Hansen.

<- Tilbage