如何将这个十六进制地址转换为十进制地址?
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 方法或使用在线计算尽管真正的程序员在脑子里做这些事。好吧,最后一部分是谎言,但至少我们声称是这样的。