Шестнадцатеричное умножение
-
11-10-2019 - |
Вопрос
Есть ли какой -либо ярлык или какой -то быстрый способ умножения 2 небольших шестнадцатеричных чисел, помимо преобразования в десятичное значение? Как в перо и бумаге метод
Спасибо,
Киран
Решение
Когда вы учитесь умножить в базе 10, вас учат запоминать таблицы умножения. Таблица базы 10 заключается в следующем:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
--+---+---+---+---+---+---+---+---
2 | 4 | 6 | 8 |10 |12 |14 |16 |18
--+---+---+---+---+---+---+---+---
3 | 6 | 9 |12 |15 |18 |21 |24 |27
--+---+---+---+---+---+---+---+---
etc...
Когда вы умножаетесь в других основаниях, вы выполняете один и тот же ярлыки, используя другой таблица умножения (база 16):
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F
--+---+---+---+---+---+---+---+---+---+---+---+---+---+---
2 | 4 | 6 | 8 | A | C | E |10 |12 |14 |16 |18 |1A |1C |1E
--+---+---+---+---+---+---+---+---+---+---+---+---+---+---
3 | 6 | 9 | C | F |12 |15 |18 |1B |1E |21 |24 |27 |2A |2D
etc...
Другие советы
Длинная бинарная математика выполняется так же, как Longhand Decimal для добавления просто переносить 2.
1010110 x 101
Add these numbers
1010110 ones column
00000000 tens column (or 2s column)
101011000 100s column (or 4s column)
=========
110101110
Вы не упомянули платформу/язык/т. Д..
РЕДАКТИРОВАТЬ: ОП пояснить «ручка и бумага» после того, как я написал это.
Windows Calculator имеет шестнадцатеричную, восьмиуровневую и бинарную режима.
Но в конечном счете, числа на компьютере являются базовыми 2. Инструменты/языки, которые поддерживают десятичные, шестнадцатеричные и т. Д., Делают это для удобства обезьяны, сидящей на клавиатуре, но в памяти компьютера число в конечном итоге становится базой 2.
Например, в C следующие два утверждения одинаковы (после Lexing):
int x = 0xf * 0xf0; // hexidecimal
int x = 017 * 0360; // octal
int x = 15 * 240; // decimal
Различные обозначения предназначены для удобства программиста, но в машине все эти цифры представлены одинаково.
Используете Linux? Вы можете использовать DC, чтобы сделать Hex Math. Установите входной и выходной radix на 16, и вы хорошо отправитесь.