Z poziomu powłoki dostępne są różne narzędzia. Sputnick udzielił Ci doskonałego przeglądu dostępnych opcji, w oparciu o Twoje wstępne pytanie. Zdecydowanie zasługuje na głosy za czas, który spędził, udzielając wielu poprawnych odpowiedzi.
Jeszcze jeden, którego nie ma na jego liście:
[ghoti@pc ~]$ dc -e '16i BFCA3000 p'
3217698816
Ale jeśli wszystko, co chcesz zrobić, to odjąć, po co przejmować się zmianą danych wejściowych na podstawę 10?
[ghoti@pc ~]$ dc -e '16i BFCA3000 17FF - p 10o p'
3217692673
BFCA1801
[ghoti@pc ~]$
dc
Polecenia jest „biurko oblicz”. Będzie również pobierał dane wejściowe ze stdin, na przykład bc
, ale zamiast używać „kolejności operacji”, używa notacji stosowej („odwrotnej Polski”). Dajesz mu dane wejściowe, które dodaje do stosu, a następnie dajesz operatorom, które zdejmują elementy ze stosu i odkładają wyniki.
W powyższych poleceniach mamy:
16i
- mówi dc, aby zaakceptował dane wejściowe o podstawie 16 (szesnastkowej). Nie zmienia podstawy wyjściowej.
BFCA3000
- Twój numer początkowy
17FF
- losowa liczba szesnastkowa, którą wybrałem, aby odjąć od twojej początkowej liczby
-
- weź dwie liczby, które zepchnęliśmy i odejmij późniejszą od poprzedniej, a następnie odłóż wynik z powrotem na stos
p
- wydrukuj ostatni element na stosie. To nie zmienia stosu, więc ...
10o
- mówi dc, aby wypisał swoje wyjście w bazie „10”, ale pamiętaj, że nasz schemat numerowania wejść jest obecnie szesnastkowy, więc „10” oznacza „16”.
p
- wydrukuj ponownie ostatni przedmiot ze stosu ... tym razem w formacie hex.
Za pomocą dc możesz tworzyć bajecznie złożone rozwiązania matematyczne. Dobrze jest mieć w swoim zestawie narzędzi do skryptów powłoki.