Zoeken…


Wiskunde met dc

dc is een van de oudste talen op Unix.

Het maakt gebruik van de omgekeerde polijstnotatie , wat betekent dat u eerst nummers stapelt en vervolgens bewerkingen uitvoert. Bijvoorbeeld 1+1 wordt geschreven als 1 1+ .

Gebruik de opdracht p om een element vanaf de bovenkant van de stapel af te drukken

echo '2 3 + p' | dc
5

or

dc <<< '2 3 + p'
5

U kunt het bovenste element vele malen afdrukken

dc <<< '1 1 + p 2 + p'
2
4

Gebruik voor negatieve getallen het voorvoegsel _

dc <<< '_1 p'
-1

U kunt ook hoofdletters van A to F voor cijfers tussen 10 and 15 en . als een decimaal punt

dc <<< 'A.4 p'
10.4

dc gebruikt abitrary precisie, wat betekent dat de precisie alleen wordt beperkt door het beschikbare geheugen. Standaard is de precisie ingesteld op 0 decimalen

dc <<< '4 3 / p'
1

We kunnen de precisie verhogen met opdracht k . 2k zal gebruiken

dc <<< '2k 4 3 / p'
1.33

dc <<< '4k 4 3 / p'
1.3333

Je kunt het ook over meerdere lijnen gebruiken

dc << EOF
1 1 +
3 *
p
EOF
6

bc is een preprocessor voor dc .

Wiskunde met bc

bc is een willekeurige taal voor nauwkeurige rekenmachines. Het kan interactief worden gebruikt of worden uitgevoerd vanaf de opdrachtregel.

Het kan bijvoorbeeld het resultaat van een uitdrukking afdrukken:

echo '2 + 3' | bc
5

echo '12 / 5' | bc
2

Voor rekenkundig zwevende post kunt u standaardbibliotheek bc -l importeren:

echo '12 / 5' | bc -l
2.40000000000000000000

Het kan worden gebruikt voor het vergelijken van uitdrukkingen:

echo '8 > 5' | bc
1

echo '10 == 11' | bc
0

echo '10 == 10 && 8 > 3' | bc
1

Wiskunde met bash-mogelijkheden

Rekenkundige berekeningen kunnen ook worden uitgevoerd zonder andere programma's zoals deze:

Vermenigvuldiging:

echo $((5 * 2))
10

Divisie:

echo $((5 / 2))
2

modulo:

echo $((5 % 2))
1

machtsverheffen:

echo $((5 ** 2))
25

Wiskunde met expr

expr of Evaluate expressions evalueert een expressie en schrijft het resultaat op standaard uitvoer

Elementaire rekenkunde

expr 2 + 3
5

Als je vermenigvuldigt, moet je aan het * -teken ontsnappen

expr 2 \* 3
6

U kunt ook variabelen gebruiken

a=2
expr $a + 3
5

Houd er rekening mee dat het alleen gehele getallen ondersteunt, dus uitdrukking als deze

expr 3.0 / 2

geeft een fout expr: not a decimal number: '3.0' .

Het ondersteunt reguliere expressie om patronen te matchen

expr 'Hello World' : 'Hell\(.*\)rld'
o Wo

Of zoek de index van het eerste teken in de zoekreeks

Dit zal expr: syntax error gooien expr: syntax error op Mac OS X , omdat het BSD expr gebruikt die geen indexcommando heeft, terwijl expr op Linux over het algemeen GNU expr is

expr index hello l
3

expr index 'hello' 'lo'
3


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow