Шестнадцатеричное Умножение - PullRequest
0 голосов
/ 18 декабря 2010

Есть ли какой-нибудь ярлык или какой-нибудь быстрый способ умножения 2 маленьких шестнадцатеричных чисел, кроме преобразования в десятичное? Как в случае с ручкой и бумагой

Спасибо

Киран

Ответы [ 4 ]

2 голосов
/ 18 декабря 2010

Когда вы научитесь умножать в базе 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...
2 голосов
/ 18 декабря 2010

Бинарная математика для длинных рук выполняется так же, как и десятичная для длинных рук, для сложения просто несите 2.

1010110 x 101

Add these numbers
  1010110 ones column
 00000000 tens column (or 2s column)
101011000 100s column (or 4s column)
=========
110101110
1 голос
/ 18 декабря 2010

Вы не упомянули платформу / язык / т. Д.

РЕДАКТИРОВАТЬ: ОП уточнил "ручка и бумага" после того, как я написал это.

Windows калькулятор имеет шестнадцатеричный, восьмеричный и двоичный режимы.

Но, в конечном счете, числа в компьютере являются базовыми 2. Инструменты / языки, которые поддерживают десятичную, шестнадцатеричную и т. Д., Делают это для удобства обезьяны, сидящей за клавиатурой, но в памяти компьютера число оказывается базовым. 2.

Например, в C следующие два оператора одинаковы (после лексизма):

int x = 0xf * 0xf0; // hexidecimal
int x = 017 * 0360; // octal
int x = 15 * 240; // decimal

Различные обозначения предназначены для удобства программиста, но в машине все эти числа представлены одинаково.

0 голосов
/ 18 декабря 2010

Используете Linux? Вы можете использовать DC для шестнадцатеричной математики. Установите для входного и выходного радиуса значение 16, и все готово.

...