将十六进制地址转换为十进制地址

将十六进制地址转换为十进制地址

如何将这个十六进制地址转换为十进制地址?

0*FFFF0000

答案1

使用Windows 计算器从十六进制转换为十进制:

从“查看”菜单中选择“程序员”选项:

在此处输入图片描述

确保在计算器处于“十六进制”模式时输入数字。输入数字后,切换到“十进制”模式。这样你就得到了答案……

在此处输入图片描述

答案2

每个占位符的值与基数的设置值相同。十进制中为 10。例如,数字 123:

  • 在 100 位有一个“1”,值 100
  • 10 位上有“2”,价值 20
  • 在 1 位有一个“3”,等于 3

同样的思路也适用于 16 进制(例如十六进制——十六进制表示 6,十进制表示 10——16)。每个占位符最多可表示 16 个数字。由于我们习惯于仅使用 10 个数字,因此我们用字母代替 11 到 15。在十六进制中,一个占位符可以具有 0 到 15 的值。

Decimal:     0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Hexadecimal: 0 1 2 3 4 5 6 7 8 9 A  B  C  D  E  F  10 11 12 13 14

0*表示以 16 为基数(虽然这是我第一次看到它)。另一个流行的符号是 ix 0x

对于你的例子,有 8 个地方。FFFF0000意思是:

(15 * 16^7) + (15 * 16^6) + (15 * 16^5) + (15 * 16^4) + (0 * 16^3) + (0 * 16^2) + (0 * 16^1) + (0 * 16^0) = 4,294,901,760 = 0*FFFF0000

听起来很复杂吧?其实并不复杂。用十进制也可以完成同样的事情:

(4 * 10^9) + (2 * 10^8) + (9 * 10^7) + (4 * 10^6) + (9 * 10^5) + (0 * 10^4) + (1 * 10^3) + (7 * 10^2) + (6 * 10^1) + (0 * 10^0) = 4,294,901,760 = 0*FFFF0000

维基百科的十六进制页面有更详细的介绍

您的问题带有 IP 标签,因此使用点分十进制表示法——比这容易多了。通常用 255.255.255.255 来表示。十六进制的优点在于它可以非常轻松地表示这一点,因为 FF 是 255。您的地址转换为 255.255.0.0,然后以点分十六进制表示法(有这种东西吗?)表示为 FF.FF.00.00。

答案3

0*FFFF0000

手动操作怎么样?;)

0x16^0 + 0x16^1 + 0x16^2 + 0x16^3 + 15x16^4 + 15x16^5 + 15x16^6 + 15x16^7 =
0x1 + 0x16 + 0x256 + 0x4096 + 15x65536 + 15x1048576 + 15x16777216 + 15x268435456 =
0 + 0 + 0 + 0 + 983040 + 15728640 + 251658240 + 4026531840 =
4294901760

正如您所问的,如何将十六进制转换为二进制,反之亦然,答案如下:

十六进制到二进制以及二进制到十六进制的转换非常简单。只需将十六进制字符串的每个字符转换为 4 位二进制值即可:

0: 0000
1: 0001
2: 0010
3: 0011
4: 0100
5: 0101
6: 0110
7: 0111
8: 1000
9: 1001
A: 1010
B: 1011
C: 1100
D: 1101
E: 1110
F: 1111

因此 0xFFFF0000 是:

   F    F    F    F    0    0    0    0
1111 1111 1111 1111 0000 0000 0000 0000

0x0FA10021的另一个例子:

   0    F    A    1    0    0    2    1
0000 1111 1010 0001 0000 0000 0010 0001

答案4

4294901760(减去 0*)

使用 TFM 方法或使用在线计算尽管真正的程序员在脑子里做这些事。好吧,最后一部分是谎言,但至少我们声称是这样的。

相关内容