Programmering for et positivt heltall eksponenten er enkel. Bare sette opp en løkke som multipliserer bunnen av eksponenten av seg selv og gjentar sløyfen for å tilsvare den eksponent -nummer. Den vanskelige programmering kommer i håndteringen av eksponenter som ikke er heltall. Instruksjoner
en
Anta at basen er to og eksponenten er noen rasjonell , ikke- heltall som 1,542 . Oversette desimal til en brøk : . 1542/1000
2
Form funksjonen f ( x ) = 2 ^ 1542 - x ^ 1000 , der cirkumflekstegnet (^ ) refererer til potenser . Målet heretter er å finne x som løser f (x) = 0 . Så eksponentiering problemet har blitt redusert til en rot -løse problemet , hvor det er flere algoritmer. Hvor ble det av ligningen kommer fra? 2 ^ 1.542 er ukjent . Så vi setter den til x . Derfor , 2 ^ 1,542 = x . Så 2 ^ ( 1542/1000 ) = x . Heve begge sider av ligningen til en eksponent for 1000 gir [ 2 ^ ( 1542/1000 ) ] ^ 1000 = x ^ 1000 , eller 2 ^ 1542 = x ^ 1000 .
3
Løs for x ved hjelp av en standard root - funn algoritme , som bisection metoden. Halveringsmetode metoden finner en x1 og en x2 som gir f ( x ) motsatt fortegn . ( . . Viser 1 og 2 som subscripts De er sekvensielle gjetninger på hva verdien av x vil løse f ( x ) = 0) Then midtpunktet ( x3 ) av x1 og x2 er funnet : x3 = ( x1 + x2 ) /2 . Uansett tegn x3 gjør funksjonen f ( x ) , kaste deg ut uansett hvilken en av x1 og x2 ga samme fortegn til f ( x ) .
For eksempel plukke x1 = 2 og x2 = 4 . Fortsetter med funksjonen ovenfor , f ( 2 ) = 2 ^ 1542-2 ^ 1000 er klart positivt , og f ( 4 ) = 2 ^ 1542-4 ^ 1000 er klart negativt . x3 = 3 er midtpunktet mellom x1 og x2 . f ( 3) = 2 ^ ^ 1542-3 1000 er negativ . Så kaste ut x2 = 4 og finne midtpunktet mellom x1 og x3 .
4
Hold beregning midtpunktene og kaster ut samme fortegn x sin til f ( x ) er så nær 0 som du trenger det til være - det vil si til den absolutte verdien av f ( x ) er mindre enn den forhåndsbestemte toleranse du har programmert inn