GNU bc og potenser
Hej alle
Jeg er fint med på, hvordan jeg regner med potenser i selve regnestykket med bc, men hvordan får jeg resultatet til at fremstå i en form for potens?
Jeg regner på mulige kodeord ved bestemte character sets og længder, og til mit formål er de lange tal for...lange.
Så ved nogen, hvordan man får bc til at spytte resultatet ud i en form for potens (10^n eller bare En)?
Jeg er fint med på, hvordan jeg regner med potenser i selve regnestykket med bc, men hvordan får jeg resultatet til at fremstå i en form for potens?
Jeg regner på mulige kodeord ved bestemte character sets og længder, og til mit formål er de lange tal for...lange.
Så ved nogen, hvordan man får bc til at spytte resultatet ud i en form for potens (10^n eller bare En)?
Kommentarer4
Re: GNU bc og potenser
Ellers må du skrive din egen printf i bc.
Jeg havde lidt håbet på en
Som jeg ser det, bliver jeg nød til at gøre følgende for at fikse outputtet manuelt:
1) Tælle antal cifre i resultatet. (wc -m)
2) Indsætte et punktum efter første tal (en eller anden form for sed)
3) Slette alt efter et vist antal cifre (bc og head)
4) Lave en potens ud fra antal cifre i resultatet minus 1. (echo)
Det bliver en halvlang affære, tror jeg. Jeg er ikke så hård udi sed, så hvis nogen er awesome med det, må de godt komme med et løsningsforslag.
Jeg tænkte mere på bash
$ printf "%4.3e" 0,01243
1,243e-02
$ printf "%3.2e" 0,01243
1,24e-02
$ printf "%3.2e" 0,01246
1,25e-02
Tallet kan selvfølgeligt erstattes af en variabel.
Hvis du foretrækker det, vil jeg mene, at du kan definere din egen printf i bc ved hjælp af et par while-løkker. *)
Selv om jeg ikke er fortrolig med bc, kan jeg godt komme med et forslag, men vil dog ikke garantere, at syntaksen er korrekt.
*) Ikke alle printf-formater, blot ovennævnte eksponentialformatering.
Arh, tak skal du have.