Ohjelmoijan kikkoja --- laskin päätteessä:
Peruslaskutoimitukset kokonaisluvuilla käyvät aika yksinkertaisesti kirjoittamalla tuonne sulkujen väliin mitä haluat:
echo $(( 33+44))
77
echo $(( 7*55 ))
385
echo $(( 387 / 55 ))
7
echo $(( 387 % 55 ))
2 <-- tuo on siis jakojäännös jonka saa tuolla prosenttimerkillä
Pieni kompastuskivi joka kannattaa huomata: Älä käytä numerossasi etunollaa tai lukusi tulkitaan oktaaliluvuksi (8-kantainen). Tällöin käy näin (aivan oikein):
echo $(( 08 / 2 ))
bash: 08: value too great for base (error token is "08")
Tietysti voit olla silloin kiero ja kertoa väkisin että kysessä on tavallinen kymmenkantainen luku vaikka alkaa nollalla:
echo $((10#08 / 2 ))
4
ja taas toimii
Tuo kymppi tuolla risuaidan edessä kertoo minkä järjestelmän luku seuraa.
Tuo oli oikeastaan johdanto seuravaan asiaan, bash tekee "ilmaiseksi" lukumuunnoksen pyydetystä kantaluvusta kymmenjärjestelmään, tässä esimerkki binääristä (=2-kantainen) tavalliseksi kymmenjärjestelmän luvuksi:
echo $(( 2#10101010 )) <-- tuon risuaidan eteen kirjoitetaan 2=binääri, 8=oktaali, jne.
170
Toiseen suuntaan (binääriksi päin) se onnistuu joko kirjoittamalla pienen funktion tai käyttämällä "bc" -laskinta:
echo "obase=2; 240" | bc
11110000
Iloa näistä on enimmäkseen jos kirjoittelet jotain omia skriptejä.
PS. Noiden tuplasulkujen tilalla laskutoimituksissa voi käyttää yksinkertaisia hakasulkuja myös, makuasia.