Jak używać bc jako kalkulatora szesnastkowego



Wypróbuj Nasz Instrument Do Eliminowania Problemów

Różne implementacje systemów operacyjnych typu Unix, takie jak Linux i prawie wszystko, co ma pakiet GNU, zawiera podstawowy język kalkulatora bc. Jego składnia jest bardzo podobna do języka programowania C. Możesz go używać jako kalkulatora szesnastkowego bezpośrednio z wiersza poleceń, dzięki czemu nie będziesz już musiał pobierać aplikacji szesnastkowej lub ósemkowej na swój telefon.



To świetna wiadomość dla programistów i każdego, kto pracuje nad zadaniami domowymi. Aby to zrobić, musisz jednak otworzyć terminal. Przytrzymaj Ctrl, Alt i T lub wyszukaj słowo terminal w Ubuntu Unity Dash. Możesz go uruchomić z menu Whisker lub Applications w obszarze Narzędzia systemowe. Użytkownicy systemu macOS mogą uruchomić terminal z folderu Narzędzia lub przez kliknięcie stacji dokującej, jeśli jest przypięta. Obecnie bc można znaleźć w większości systemów operacyjnych typu Unix, a nie tylko w Linuksie.



Metoda 1: Użycie bc do konwersji liczb dziesiętnych i szesnastkowych

Rodzaj echo „obase = 16; 127” | pne aby przekonwertować liczbę 127 na szesnastkową ze zwykłych liczb dziesiętnych. Oczywiście możesz to zastąpić dowolną liczbą całkowitą. Wynik, który otrzymasz, to 7F, a jeśli chcesz przekonwertować z powrotem na zwykłą podstawę 10, możesz wpisać echo „ibase = 16; obase = A; 7F” | pne i wciśnij Enter. Jest to takie proste i można go używać w dowolnym momencie z dowolnym prawidłowym numerem szesnastkowym. Ponieważ jest to poprawne polecenie w stylu Uniksa, można je również włączyć do dowolnego typu skryptu powłoki. Łatwo zapamiętać, że możesz użyć tego z wiersza poleceń w dowolnym momencie, gdy potrzebujesz szybko przekonwertować liczbę w tę iz powrotem.



Metoda 2: Zamiana liczb dwójkowych i szesnastkowych za pomocą kalkulatora bc Hex

W wierszu polecenia wpisz echo „obase = 16; ibase = 2; 111010001” | pne aby zamienić liczbę binarną na szesnastkową. Wciśnij enter i powinieneś otrzymać 1D1 jako odpowiedź. Oczywiście możesz wypełnić tę linię binarną dowolną liczbą binarną, którą w danym momencie potrzebowałeś przekonwertować. I znowu, odwrotność jest prawdą i można użyć dołączonego kalkulatora szesnastkowego, aby przekonwertować liczbę szesnastkową na binarną. Pisanie na maszynie echo „obase = 2; ibase = 16; 1D1” | pne i naciskając Enter, odzyskasz swój pierwotny numer, ale możesz zastąpić 1D1 innymi prawidłowymi wartościami szesnastkowymi.



Jeśli używasz tego często, pamiętaj o dwóch kwestiach. Jednym z nich jest to, że litery występujące w liczbach szesnastkowych muszą zawsze być dużymi, ponieważ oprogramowanie bc traktuje małe litery jako zmienne algebraiczne. Po drugie, wszystkie te polecenia mogą być uruchamiane przez zwykłego użytkownika i nie potrzebujesz uprawnień administratora, aby wykonywać je w dowolnej nowoczesnej wersji systemu Linux lub Unix.

Metoda 3: Używanie bc jako pełnego kalkulatora szesnastkowego

W razie potrzeby możesz również użyć polecenia bc jako kalkulatora szesnastkowego do wykonywania arytmetyki. Większość ludzi nie ma takiej potrzeby, ale ci, którzy są programistami, mogą potrzebować dowiedzieć się, jakie są różnice między dwoma różnymi lokalizacjami w pamięci. Jest to również bardzo częste pytanie zadawane przez tych, którzy odrabiają prace domowe z informatyki w szkole średniej i na studiach!

Powiedzmy, że masz jedną liczbę szesnastkową EE65522D i chcesz odjąć od niej C3EFAF86. Możesz pisać echo „ibase = 16; EE65522D-C3EFAF86” | pne i naciśnij enter, aby znaleźć odpowiedź. Jeśli wolisz, aby odpowiedź była szesnastkowa, możesz spróbować echo „obase = 16; ibase = 16; EE65522D-C3EFAF86” | pne aby rozwiązać to w ten sposób. Dozwolone są również inne operacje arytmetyczne. Na przykład, echo „obase = 16; ibase = 16; EE65522D * C3EFAF86” | pne pomnoży te dwie wartości. Jeśli chcesz, możesz oczywiście użyć + jako argumentu dodawania. Użycie / do dzielenia nie zwraca reszty; aby to zrobić, musisz użyć% dla modułu.

Na przykład uruchomienie echo „obase = 16; ibase = 16; EE65522D% C3EFAF86” | bc zwraca wartość 2A75A2A7, ponieważ iloraz tego równania wynosi 1 resztę 2A75A2A7 po uruchomieniu przez kalkulator szesnastkowy. Najpierw uruchom operand /, a następnie operand%, aby znaleźć obie wartości.

3 minuty czytania