www.mamboteam.com
aptitude : me and my debian - a work in progress  
Startsida arrow Forum
2008-09-05
 
 
Huvudmeny
Startsida
debian
bash
Forum
Användarmeny
tidigare material
nyheter
grafik
BadVista
BASH Forum
Välkommen, Gäst
Vänligen Logga in eller Registrera.
Glömt ditt lösenord?
BASH och siffror (1 läser)
Ned Svara på det här inlägget Favoriserade: 0
ÄMNE: BASH och siffror
#26
marwal (Moderator)
Moderator
Inlägg: 27
graphgraph
Användare Offline Klicka här för att se användarens profil
BASH och siffror 2007-06-04 14:56 Karma: 0  
Nedanstående kod fördubblar siffran 2 åtta gånger.

Code:

 #!/bin/bash # kod: M Wallin 2007-06-04 function dubbla {     echo $TAL     (( TAL TAL*TAL ))     (( ANTAL-- ))     (( ANTAL )) && dubbla } TAL=2ANTAL=8dubbla



Utdata:
2
4
16
256
65536
4294967296
0
0


BASH är helt enkelt inte bra på att räkna. Nästa script delar siffran 1 med 3 åtta gånger.

Code:

 #!/bin/bash # kod: M Wallin 2007-06-04 function dela {     echo $TAL     (( TAL TAL/))     (( ANTAL-- ))     (( ANTAL )) && dela } TAL=1ANTAL=8dela



Utdata

1
0
0
0
0
0
0
0


Ja, det är lika illa där. Därför använder man sig av kommandot 'bc' när man ska räkna med höga tal eller decimaltal.

Code:

 echo "scale=4;1/3" bc


.3333

Scripten får då följande utseende:

Code:

 #!/bin/bash # kod: M Wallin 2007-06-04 function dubbla {     echo $TAL     TAL=$(echo "$TAL*$TAL" bc)     (( ANTAL-- ))     (( ANTAL )) && dubbla || exit 0 } TAL=2ANTAL=8dubbla



2
4
16
256
65536
4294967296
18446744073709551616
340282366920938463463374607431768211456


Code:

 #!/bin/bash # kod: M Wallin 2007-06-04 function dela {     echo $TAL     TAL=$(echo "scale=4;$TAL/3" bc)     (( ANTAL-- ))     (( ANTAL )) && dela || exit 0 } TAL=1ANTAL=8dela



1
.3333
.1111
.0370
.0123
.0041
.0013
.0004
  Logga in för att svara.
Upp Svara på det här inlägget
Powered by FireBoard
 
Top! Top!