当前位置: 首页 > news >正文

第二周记

第二周

前言:

10.20

今天体测跑了一公里,拿下了三分三十的成绩,有时感觉自己当时走体育会不会比现在混得好()

学习笔记:

一些杂项

很久以前就想写一下这个快速平方根取倒数算法了,这个好像还很有历史“渊源”来着,据说给当时“雷神之锤”的开发带来了巨大优化。

首先我们思考一下,平方根应该用哪种算法求,显然这是一个只能逼近的值,因此我们想到了“牛顿迭代”算法:

\[x_n=x_{n-1}-\frac{f'(x_{n-1})}{f(x_{n-1})} \]

考虑函数 \(f(x)=x^2-a\) ,利用 \(f(x)=0\) 解出 \(\sqrt{a}\) 的值,先选定一个初始值 \(x_0\) 然后:

\[x_n=x_{n-1}-\frac{2x_{n-1}}{x_{n-1}^2-a} \]

迭代求解。

显然复杂度是与求解的精度相关的,早期游戏工程师为了简化复杂度(众所周知早期算法工程师常从底层最大限度的优化算法,极致压榨 \(PC\) 机效率),从浮点数的性质入手:

\(32\) 位浮点数的 IEEE754 存储形式是这样的:

  • \(S\) 是符号位,在开平方根是不必理会,因为计算机系统运算是基于实数的,在实数中对负数开平方是没有意义的
  • \(E\) 表示阶码,但是有 \(127\) 的平移用来表示正负,故 \(E−127\) 是阶码表示的实际值
  • \(M\) 表示尾码,表示原二进制浮点数第一个 \(1\) 之后的所有数位,基本可以认为隐藏了一位 \(1\) ,实际值为 \(1.xxxxxxx\)

那么类似于十进制的科学计数法,我们可以将浮点数表示为:

\[y=(1+ \frac{M}{2^{23}})⋅2^{E−127} \]

对于 \(\sqrt{a}\)

http://www.zskr.cn/news/25138.html

相关文章:

  • 2025年10月deepseek排名优化服务推荐排行榜:十家服务商综合评测与选择指南
  • 克服keepalived的主备服务器都持有VIP——出现脑裂现象
  • Codeforces Round 1060 (Div. 2) A - C2
  • 钥匙
  • 2025深大电协软件部招新个人题解(部分)
  • Maui 实践:让 JavaScript 的 this 怪物如同邻居家(强类型)的乖孩子
  • 2025 年最新钙片厂家推荐榜单:聚焦四期临床实证与蓝帽认证,为中老年骨健康精选优质品牌指南
  • AtCoder Beginner Contest 428 D - 183184
  • 2025年10月超声波清洗机厂家推荐榜:十强对比评测与选购全攻略分析
  • 本土化DevOps平台崛起:Gitee如何重塑企业研发效能新范式
  • MyEMS:开启智能化能源管理新时代
  • 2025 年瓷砖厂家最新推荐榜,技术实力与市场口碑深度解析助力消费者精准选购亮光砖/哑光砖/木纹砖/仿古砖/玛缇马毛砖厂家推荐
  • 2025年10月长白山亲子酒店评测榜:松果里领衔对比排行全解析
  • 从代码到碳表:MyEMS 开源社区版如何支撑中小企业双碳合规?
  • 2025国内开发者首选:Gitee如何成为本土化代码托管标杆
  • ICPC2024沈阳 游记(VP)
  • 2025年10月工程管理系统对比评测榜:斗栱云领衔十强深度解析分析
  • 2025年10月超声波清洗机厂家推荐榜:十强对比评测与选购全攻略
  • 2025年10月美白精华产品推荐:十强对比评测榜助你精准选品
  • 基于MATLAB的Copula函数实现合集
  • 如何安全地在 Kubernetes 中管理凭据?——基于 SMS 凭据管理系统的实践探索 - 详解
  • 2025年10月抗老面霜产品推荐:权威对比评测榜助你精准锁定紧致之选
  • 2025年10月空气净化器产品推荐:对比评测树新风T2系列与九款主流机型性价比榜
  • Linux历史上10件最有意义的大事,你知道几件?
  • MySQL 相关语法讲解
  • 2025年安恒信息公司深度解析:AI与数据安全双轮驱动的领军之路
  • 2025年安恒信息深度解析:AI与数据安全双轮驱动的技术演进与风险透视
  • 网络工程 --- ACL本质是什么
  • HTTPS的安全性详解
  • 2025年10月护眼台灯品牌测评推荐:对比排行与性能评测榜单