同一段内存,在不同的字节序和整数类型下可能代表不同的数值。这个实验把四个输入字节按地址从低到高排列,并同时显示大小端序下的 uint32、int32 和十六进制数值。
试一个例子#
输入 78 56 34 12,也可以连续输入 78563412:
| 读取方式 | 十六进制数值 | 无符号十进制数值 |
|---|---|---|
| 小端序:低地址存低位字节 | 0x12345678 | 305419896 |
| 大端序:低地址存高位字节 | 0x78563412 | 2018915346 |
再试试 FF FF FF FF:两种字节序的结果相同,但无符号解释得到 4294967295,有符号解释得到 -1。
实验边界#
- 固定读取 4 字节,采用 32 位整数;有符号数按二进制补码解释。
- 接受四组两位十六进制字节,或连续八位十六进制字符,不需要
0x前缀。 - 所有计算均在浏览器本地完成,不上传输入,不依赖外部库。保存实验目录中的 HTML、CSS 和 JavaScript 文件后,可以离线打开。
- 本实验用于观察数据表示,不会识别真实文件格式、反汇编指令或推断目标程序的数据类型。实际分析仍需结合字段定义和读取指令。