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 ~]$
dcPolecenia 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.