除了转换为十进制之外,是否有任何快捷方式或快速方法将2个小的十六进制数相乘?像纸笔法一样
谢谢,
基兰
答案 0 :(得分:2)
长手二进制数学的运算方式与手写小数相同,只需加载2。
1010110 x 101
Add these numbers
1010110 ones column
00000000 tens column (or 2s column)
101011000 100s column (or 4s column)
=========
110101110
答案 1 :(得分: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...
答案 2 :(得分:1)
您没有提及平台/语言/等。
编辑:在我写完之后,OP澄清了“笔和纸”。Windows计算器具有十六进制,八进制和二进制模式。
但最终,计算机中的数字是基数2.支持十进制,十六进制等的工具/语言这样做是为了方便坐在键盘上的猿,但在计算机的内存中,数字最终是基数2。
例如,在C中,以下两个语句是相同的(在lexing之后):
int x = 0xf * 0xf0; // hexidecimal
int x = 017 * 0360; // octal
int x = 15 * 240; // decimal
不同的符号是为了方便程序员,但在机器上这些数字都用同样的方式表示。
答案 3 :(得分:0)
使用linux?您可以使用dc进行十六进制数学运算。将输入和输出基数设置为16,你就可以了。