本关需要使用 Cheat Engine 工具对浮点数进行扫描,完成修改任务。浮点数是一种带有小数点的数值,通过“浮点数”扫描方式进行修改。本关中,健康值为单精度浮点数,弹药值为双精度浮点数,需要将这两项数值都修改为 5000 或更高。提示建议禁用“快速扫描”功能,以获取更准确的扫描结果。
这里首先科普一下,单精度浮点数与双精度浮点数是计算机中常用的两种浮点数数据类型,它们之间的主要区别在于所占用的内存大小和表示的数据范围。
- 单精度浮点数 [float] 是一种32位的浮点数数据类型,由一位符号位、8位阶码和23位有效数字组成,可以表示的数值范围大约为1.4E-45到3.4E38,精度为6-7位,适用于大多数的科学计算和工程领域。
- 双精度浮点数 [double] 是一种64位的浮点数数据类型,由一位符号位、11位阶码和52位有效数字组成,可以表示的数值范围大约为4.9E-324到1.8E308,精度为15-16位,拥有更高的精度和更广的表达范围,适用于需要更高精度计算的场景,例如大量数据的数学计算、天文学、物理学等领域。
因为双精度浮点数要占用更多的内存,所以在内存受限的场景下,单精度浮点数更为利于使用。同时,在性能要求更高的场合(例如计算机图形学和游戏开发等领域),单精度浮点数的运算速度也更快。
浮点数的搜索功能与精确扫描完全一致,唯一的区别在于在扫描上,需要使用浮点数格式对数据进行扫描,正如本关中的健康和弹药,两者都以浮点方法储存数据,唯一不同的的是:
- 健康值为单精度浮点数,点击"打我"将减少一些健康值。
- 弹药值为双精度浮点数,点击"开火"则消耗掉 0.5 的弹药。
浮点数在游戏开发中应用十分广泛,在多数游戏中,人物坐标,弹药等都会使用浮点数进行存储,我们以单精度浮点数为例,用户在CE菜单中的数值类型上选择单浮点按钮,并输入需要扫描的数据,
此时根据需求,将数据改为5000本关也就通过了。