[BASH] Przelicznik Systemu Liczbowego

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
sQrtek
Sędziwy Jeż
Sędziwy Jeż
Posty: 99
Rejestracja: 13 lut 2010, 11:57
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

[BASH] Przelicznik Systemu Liczbowego

Post autor: sQrtek »

Witam

Chciałbym zrobić skrypt który by przeliczał liczby z systemu dwójkowego, dziesiętnego, ósemkowego i szesnastkowego.

Szukałem Szukałem.. i znalazłem komendę "obase=2; 25 | bc", która niby przeliczy mi liczbę 25 na system dwójkowy, lecz np. błędy wyskakują jak chciałbym przelicznik zrobić na system dziesiętny... i dlatego nie wiem czy mój skrypt wykonywałby wtedy wszystko dobrze.. znacie jakieś swoje metody? Albo wiecie jak ulepszyć te komende by skrypt wykonywał dobre obliczenia?

Z góry dzięki za pomoc.
Awatar użytkownika
karmelek
Przyjaciel
Przyjaciel
Posty: 883
Rejestracja: 10 lut 2007, 17:45
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Re: [BASH] Przelicznik Systemu Liczbowego

Post autor: karmelek »

Awatar użytkownika
sQrtek
Sędziwy Jeż
Sędziwy Jeż
Posty: 99
Rejestracja: 13 lut 2010, 11:57
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Re: [BASH] Przelicznik Systemu Liczbowego

Post autor: sQrtek »

Hmmm myślę że już teraz mi będzie lepiej, i łatwiej napisać skrypt, bo dowidziałem się czym jest obase, a czym ibase, Dzięki :)
Jak będę jeszcze potrzebował pomocy z skryptem to napiszę :)

-- 14 sty 2012 20:36 --

Coś byście jeszcze zmienili w tym skrypcie? Chciałbym by liczba gdy wyskakuja po konwercie, miała przed liczbą napis "Liczba po Konwersji to: " Dałoby się takie coś zrobić?

Kod: Zaznacz cały

#!/bin/bash
#
#autor: Sebastian R
#
# Program przelicza liczby w różnych systemach liczbowych
# All rights reserved by Sebastian R
#
d=t
while [ "$d" = "t" ]; do
clear
echo -n "Podaj liczbę do konwertowania : "
read liczba
echo -n  "W jakim Systemie liczbowym podales liczbę? : "
read poczatek
echo -n "Na jaki System Liczbowy chcesz skonwertowac liczbę? : "
read koncowy
echo
echo "obase=$koncowy; ibase=$poczatek; $liczba"|bc
echo
echo -n "Czy chcesz wykonac jeszcze jakies przeliczenie? [ t/n ]: "
read d
done
echo "Program zostal zakonczony."
exit 0
Awatar użytkownika
karmelek
Przyjaciel
Przyjaciel
Posty: 883
Rejestracja: 10 lut 2007, 17:45
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Re: [BASH] Przelicznik Systemu Liczbowego

Post autor: karmelek »

Może tak?

Kod: Zaznacz cały

echo "Liczba po konwersji: "
echo "obase=$koncowy; ibase=$poczatek; $liczba"|bc
echo
Awatar użytkownika
sQrtek
Sędziwy Jeż
Sędziwy Jeż
Posty: 99
Rejestracja: 13 lut 2010, 11:57
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Re: [BASH] Przelicznik Systemu Liczbowego

Post autor: sQrtek »

Tak mi się wydaje estetyczniej wyglądać będzie dodając -n. Dzięki za pomoc :)

Kod: Zaznacz cały

echo -n "Liczba po konwersji: "
echo "obase=$koncowy; ibase=$poczatek; $liczba"|bc
echo
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 58 gości