我想知道如何在x86机器上手动将IP地址转换为十六进制值.例如,我正在阅读的书给出了192.168.42.72的十六进制表示:
0x482aa8c0
Run Code Online (Sandbox Code Playgroud)
但从未解释转换的工作原理.那么,它是怎么回事?
当您将IP转换为长整数时,您将以相反的顺序取每个八位字节并将其乘以256^n其中n是八位字节的从零开始的反向索引
所以对于这个ip你正在做
(72 * 256^0) + (42 * 256^1) + (168 * 256^2) + (192 * 256^3)
= 3232246344
= 0xc0a82a48
Run Code Online (Sandbox Code Playgroud)
看起来这本书正在倒退,但你明白了.