报文头固定 20 字节,由 40 位十六进制字符给出(每两位一字节,大端序)。
按字段布局:
((b6<<8)|b7) & 0x7FF;一个网络报文头及所包含的各信息的关系如图所示:

(16),表示标识部分占 16 个 bit 位即 2 个字节长度。现给定一个十六进制格式的网络报文头数据,请解析输出其中的片偏移、源IP地址:
十六进制字符串 [0-9A-F],表示合法的网络报文头数据,每两位字符表示一个字节,字符串长度固定为 40。
一个字符串,表示解析结果:片偏移,源IP地址,以 , 间隔。
IP地址为点分十进制格式,如:192.168.1.2输入:
4500003C7C48200380060000C0A80102C0A814B8
输出:
3,192.168.1.2
解释:
对照图示的各信息所在位置:
0x2003 的低 11 位,2 进制为 00000000011,10 进制值为 30xC0A80102,点分十进制为 192.168.1.2输入:
450000FF0234A58180060000000A01028090A0B0
输出:
1409,0.10.1.2
解释:
0xA581 的低 11 位,2 进制为 10110000001,10 进制值为 14090x000A0102,点分十进制为 0.10.1.2
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.