Как использовать bc в качестве шестнадцатеричного калькулятора



Попробуйте наш инструмент устранения неполадок

Различные реализации Unix-подобных операционных систем, такие как Linux, и почти все, что имеет пакет GNU, включает базовый язык калькулятора bc. Его синтаксис очень похож на язык программирования C. Вы можете использовать его как шестнадцатеричный калькулятор прямо из командной строки, так что вам больше не придется загружать какое-нибудь шестнадцатеричное или восьмеричное приложение на свой телефон.



Это отличная новость для разработчиков и всех, кто работает над домашним заданием. Однако для этого вам нужно открыть терминал. Удерживайте Ctrl, Alt и T или найдите слово терминал в Ubuntu Unity Dash. Вы можете запустить его из меню Whisker или Applications в меню System Tools. Пользователи macOS могут запустить терминал из папки «Утилиты» или щелкнув док-станцию, если она закреплена. В наши дни вы можете найти bc в большинстве Unix-подобных операционных систем, а не только в Linux.



Метод 1. Использование bc для преобразования десятичных и шестнадцатеричных чисел

Тип echo ‘obase = 16; 127’ | до н.э для преобразования числа 127 в шестнадцатеричное из обычных десятичных чисел. Естественно, вы можете заменить это любым целым числом. В результате вы получите 7F, и если вы хотите преобразовать обратно в обычное основание 10, вы можете ввести echo ‘ibase = 16; obase = A; 7F’ | до н.э и нажмите Enter. Это так просто и может использоваться в любое время с любым допустимым шестнадцатеричным числом. Поскольку это допустимая команда в стиле Unix, вы также можете включить ее в любой тип сценария оболочки. Легко запомнить, что вы можете использовать это из командной строки в любой момент, когда вам нужно быстро преобразовать число туда и обратно.



Метод 2: преобразование двоичных и шестнадцатеричных чисел с помощью шестнадцатеричного калькулятора bc

В командной строке введите echo ‘obase = 16; ibase = 2; 111010001’ | до н.э для преобразования двоичного числа в шестнадцатеричное. Нажмите Enter, и в ответ вы получите 1D1. Естественно, вы можете заполнить эту двоичную строку любым двоичным числом, которое вам нужно было преобразовать в то время. И снова верно и обратное, и можно использовать прилагаемый шестнадцатеричный калькулятор для преобразования шестнадцатеричного числа в двоичное. Набор текста echo ‘obase = 2; ibase = 16; 1D1’ | до н.э и нажав Enter, вы вернете свой исходный номер, но вы можете заменить 1D1 другими допустимыми шестнадцатеричными значениями.



Если вы используете это часто, то помните о двух моментах. Во-первых, буквы, присущие шестнадцатеричным числам, всегда должны быть прописными, поскольку программа bc обрабатывает строчные буквы как алгебраические переменные. Во-вторых, все эти команды могут запускаться обычным пользователем, и вам не нужен root-доступ для их выполнения в любой современной версии Linux или Unix.

Метод 3: использование bc в качестве калькулятора полного шестнадцатеричного кода

Вы также можете использовать команду bc в качестве шестнадцатеричного калькулятора для выполнения арифметических операций, если вам это необходимо. У большинства людей в этом нет необходимости, но тем, кто является программистом, возможно, потребуется выяснить разницу между двумя разными участками памяти. Это также действительно частый вопрос, который задают те, кто делает домашнее задание по информатике в средней школе и колледже!

Допустим, у вас есть одно шестнадцатеричное число EE65522D, и вы хотите вычесть из него C3EFAF86. Вы можете ввести echo ‘ibase = 16; EE65522D-C3EFAF86’ | до н.э и нажмите Enter, чтобы найти ответ. Если вы предпочитаете, чтобы ответ был в шестнадцатеричном формате, вы можете попробовать echo ‘obase = 16; ibase = 16; EE65522D-C3EFAF86’ | до н.э решить это таким образом. Разрешены и другие арифметические операции. Например, echo ‘obase = 16; ibase = 16; EE65522D * C3EFAF86’ | до н.э умножит два значения. Вы, конечно, можете использовать + в качестве операнда для добавления, если хотите. Использование / для деления не возвращает остаток; для этого вам нужно использовать% для модуля.

Например, при выполнении echo ‘obase = 16; ibase = 16; EE65522D% C3EFAF86’ | bc возвращает значение 2A75A2A7, потому что частное этого уравнения составляет 1 остаток 2A75A2A7 при прогоне через шестнадцатеричный калькулятор. Сначала запустите операнд /, а затем операнд%, чтобы найти оба значения.

3 минуты на чтение