

定点数实现的是float转PEint
/// 浮点数有很多问题 多个平台一些运算结果不一致
/// 定点数 运算 (把浮点数转为定点数进行运算,保证所有平台结果的一致性)
//因为要把float转化为整形来操作
//float是一个结构体 所以我们这里也是声明的一个结构体(v3转PEv3也是结构体)
具体功能:
1.构造函数和显示转换(float转PEInt)、隐式转换(int转PEInt)
代码:

使用:

2.运算符重载:特别注意乘除和取反,右移


3.定点数的转化为原始(float or int)数据、Tostring和equal方法的重写

1.负数的移位预算问题

原理:负数右移运算的结果就是其原码取反得到反码,反码再加一。
上述代码模拟了护盾的效果,整数部分不相同(原始整数是通过右移得到的,而正数和负数的右移结果是不同的,也就是上述结果差1(不考虑符号的话)),需要对负数进行处理(对于负数:修改了Sourceint, *, >> :加上了对于负数的判断,把负数取反当成正数来处理)。

基于定点数实现的PEv3



PEcal:一些计算和钳制函数

结果公式

牛顿迭代求开方的代码:

钳制



![[图解]阿西莫夫·台球杀人事件-《分析模式》漫谈](https://i-blog.csdnimg.cn/direct/455975a811aa4b86b86304b18260be77.png)











![[AI绘画] 简明原生 ComfyUI 三重超细节放大教程(附工作流)](https://img-blog.csdnimg.cn/img_convert/289772818e3d5b952da70f5094ae48ca.png)






