使用按位运算求给定数字的平方根

2023-11-24

是否有一种算法可以使用按位运算求给定数字的平方根?


这段著名的代码魔法计算inverse平方根与一些非常聪明的小玩意。它被错误地归因于约翰·卡马克 -这是更深入的挖掘进入它的起源。也许这就是你要问的?

但我不建议使用它。在现代 CPU 上,它无法击败专用超越指令。你常用的 C++ 内在函数sqrt()可能会轻而易举地击败它。

[编辑:]引用的文章描述了这种快速近似的通用推导方法,并在最后几行明确指出“推导 sqrt(x) 的类似方法”作为家庭作业问题。因此,您应该能够跟踪其推理并直接为 sqrt(没有倒数)设计类似的方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用按位运算求给定数字的平方根 的相关文章

  • 如何检查无向图是否有奇数环

    我试图找到一个 O V E 时间算法来检查是否已连接 无向图有或没有奇数环 我正在考虑对图进行广度优先搜索 并尝试将顶点标记为黑色和白色 以便没有两个标记为相同颜色的顶点相邻 是否有任何已知的更简洁的算法可以在线性时间内解决这个问题 你的方
  • 神经网络的层和神经元

    我想更多地了解神经网络 我正在开发一个 C 程序来制作神经网络 但我坚持使用反向传播算法 很抱歉没有提供一些工作代码 我知道有很多库可以用多种语言创建神经网络 但我更喜欢自己制作一个 关键是我不知道要实现特定目标 例如模式识别或函数近似或其
  • 有效地合并两个数组 - 一个已排序,另一个未排序

    我正在解决一个问题 该问题有一个由 n 个元素组成的排序数组 后跟一个未排序的长度数组 O logn O 平方 n 如何最有效地对整个列表进行排序 在上述两种情况下我应该使用哪种排序 由于将单个元素插入数组并保持其排序是O n 你不可能变得
  • 在 3d 网格中转发(绘制)线

    我需要类似 Bresenham 算法的东西 但是 对于 3d 网格空间来说不完全是这样 我需要 3d 单元网格 边缘尺寸 1 0 从 S 点开始 前进到 K 点 接触 该线接触的所有单元格 即使只有边缘 点被触摸我需要触摸所有 8 个单元
  • 线段树java实现[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 你知道 二进制 的良好实现吗线段树 http en wikipedia org wiki Segmen
  • 定点数学比浮点运算快吗?

    多年前 即 20 世纪 90 年代初期 我构建了图形软件包 该软件包基于定点算术和预先计算的 cos sin 表格以及使用牛顿近似方法进行 sqrt 和对数近似的缩放方程来优化计算 这些先进技术似乎已经成为图形和内置数学处理器的一部分 大约
  • 数独算法,暴力破解[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在尝试
  • 如何为多边形创建内部螺旋?

    对于任何形状 我如何在其内部创建类似形状的螺旋 这与边界 使用 Minkowski 和 类似 尽管它会是相同形状的螺旋 而不是在形状内部创建相同的形状 我找到了这个 http www cis upenn edu cis110 13su le
  • 是否有一种算法可以在线性时间内计算数组反转?

    我知道有多少倒转 en wikipedia org wiki Inversion 28discrete mathematics 29 in an n 元素数组可以在 O n log n 操作使用增强型归并排序 http www geeksf
  • 什么是“朴素”算法,什么是“封闭式”解决方案?

    我有一些关于描述算法时使用的术语语义的问题 首先 朴素 算法是什么意思 这与给定问题的其他解决方案有何不同 解决方案还可以采取哪些其他形式 其次 我听到很多人提到 封闭式 解决方案 我也不知道这意味着什么 但在尝试解决递归关系时经常会出现
  • 贝尔曼福特算法可以有任意的边顺序吗?

    我刚刚开始学习新算法 但当我阅读 极客为极客而写的贝尔曼福特算法 时 我陷入了困境 http www geeksforgeeks org dynamic programming set 23 bellman ford algorithm h
  • 优化计算中使用的 # 个线程的算法

    我正在执行一个操作 我们将其称为CalculateSomeData CalculateSomeData 在连续的 代 中运行 编号为 1 x 整个运行中的代数由CalculateSomeData 的输入参数固定 并且是先验已知的 完成一次生
  • 使用什么算法来确定使系统达到“零”状态所需的最小操作数?

    这是一种更通用的问题 不是特定于语言的 有关要使用的想法和算法的更多信息 系统如下 它登记朋友群体之间的小额贷款 Alice and Bill要去吃午饭 比尔的卡坏了 所以爱丽丝支付了他的餐费 10 美元 第二天Bill and Charl
  • JavaScript 中的埃拉托斯特尼筛法对大量数据无限运行

    我一直在尝试写埃拉托斯特尼筛法 http en wikipedia org wiki Sieve of EratosthenesJavaScript 中的算法 基本上我只是按照以下步骤操作 创建从 2 到 n 1 的连续整数列表 令第一个素
  • 用于查找最近邻居的空间划分算法如何工作?

    为了找到最近的邻居 空间分区 http en wikipedia org wiki Nearest neighbor search Space partitioning是算法之一 它是如何工作的 假设我有一组 2D 点 x 和 y 坐标 并
  • sigmoid 的导数

    我正在使用反向传播技术创建一个神经网络进行学习 我知道我们需要找到所使用的激活函数的导数 我正在使用标准 sigmoid 函数 f x 1 1 e x 我已经看到它的导数是 dy dx f x f x 1 f x 这可能是一个愚蠢的问题 但
  • Z 算法背后的直觉

    Z算法是一种复杂度为O n 的字符串匹配算法 一种用例是从字符串 B 中查找字符串 A 的最长出现次数 例如 overdose from stackoverflow 将会 over 您可以通过使用组合字符串调用 Z 算法来发现这一点 ove
  • 寻找公共子集的算法

    I have N number of sets Si of Numbers each of a different size Let m1 m2 mn be the sizes of respective sets mi Si and M
  • 如何以最低的价格优化购物车?

    我有一个我想买的物品清单 这些商品由不同的商店提供 价格也不同 商店有单独的送货费用 我正在寻找一种最佳的购物策略 以及支持它的java库 以最低的总价购买所有商品 Example 商品 1 在 Shop1 的售价为 100 美元 在 Sh
  • 如何实现n个元素的查找和插入操作的动态二分查找

    这个想法是使用多个数组 每个长度为 2 k 根据 n 的二进制表示来存储 n 个元素 每个数组都是排序的 不同的数组没有以任何方式排序 在上述数据结构中 SEARCH是通过对每个数组进行一系列二分查找来进行的 INSERT 是通过一系列相同

随机推荐

  • 在 (x) 个字符后剪切文本

    这是在 WordPress 中 不确定这有什么区别 这段 php 输出帖子标题 它是简单文本 长度最多可达 100 个字符 我想要的是如果输出的字符超过 20 长以显示 或根本不显示任何内容 Thanks 检查字符串长度后strlen us
  • delete[] 提供了一个修改后的新指针。未定义的行为?

    我在同行代码评审会议期间看到了如下一些代码 char s new char 3 s a s b s 0 delete s this may or may not crash on some or any day 首先 我知道在标准 C 中
  • 使用 Emacs 在尚未打开的文本文件中递归查找和替换

    作为后续这个问题 它试图找出如何做这样的事情 这应该很容易 这尤其阻止我更习惯使用 Emacs 而是启动我已经熟悉的编辑器 我在编辑多个文件时经常使用这里的示例 在 Ultraedit 中 我会先按 Alt s 然后按 p 显示一个对话框
  • 构建状态管理存储(ngrx/redux)。扁平代表数据,还是嵌套代表视图?

    我正在使用 ngrx 存储来维护应用程序状态 使用 normalizr 来展平来自 API 调用和 Immutable 的数据 到目前为止 它运行得非常好 但我正在处理一些更复杂的数据关系 我想知道如何继续构建商店 为了简化事情 我有两组对
  • Pandas 中的递归 SQL CTE 查询?

    如何优雅地将下面的递归 SQL 查询移植到 Pandas python 代码中 不知何故 如果不编写自己的递归函数 我就看不到一种直接的方法 Python 示例代码 import datetime import numpy as np im
  • Swift 过滤字典错误:无法将“[(_, _)]”类型的值分配给“[_ : _]”类型的值

    我正在尝试快速过滤字典 var data String String data data filter 0 1 Test 上面的过滤器代码在 Swift 2 下编译 但会产生以下错误 无法将 String String 类型的值分配给 St
  • Material Design 不设置警报对话框样式

    我已将 appCompat 材质设计添加到我的应用程序中 但警报对话框似乎没有使用我的主色 primaryDark 或强调色 这是我的基本风格
  • 如何在没有空终止符的情况下初始化 char 数组?

    char 数组是网络消息的一部分 其长度定义明确 因此不需要空终止符 struct Cmd char cmd 4 int arg struct Cmd cmd ABCD 0 this would be buffer overflow 如何初
  • 从公共类中的 AsyncTask 更新 UI 线程

    我试图将一些 AsyncTask 类拆分为公共 单独 函数 这样我就不必重写这么多代码 除了一个非常重要的方面之外 我几乎拥有了它 AsyncTask 函数通过对服务器进行 php 调用来编译 ArrayList 当此列表完成后 我需要更新
  • 使用 mod_remoteip 获取 Apache 2.4 访问日志以显示客户端 IP,而不是使用 Varnish 的 127.0.0.1

    在我的一生中 我无法让 mod remoteip 在我的 Apache 访问日志中获取客户端 IP 我正在使用在 Apache 2 4 7 之前安装的 Varnish 4 进行 Virtualmin 设置 你如何让它发挥作用 我终于在日志中
  • 将 event.target 与现有 jQuery 对象匹配

    我怎样才能做到这一点 event target返回一个 HTML 对象 我的元素是一个 jQuery 对象 除了比较 ID 或类之外 还有更好的方法来确定 event target my jquery object 吗 我想确保它是同一个对
  • 是否保证事件处理程序在调用 AJAX 回调之前完成?

    假设我有一个事件处理程序 它向服务器发出两次 AJAX 调用 foo click function get bar function alert Hello get baz function alert World 我意识到调用回调的顺序是
  • 双三次插值?

    我浏览了互联网 就双三次插值而言 我找不到一个简单的方程 维基百科关于该主题的页面不是很有帮助 那么有没有简单的方法来学习双三次插值的工作原理以及如何实现它 我用它来生成柏林噪声 但使用双线性插值对于我的需求来说是不稳定的 我已经尝试过 如
  • C++ 和表格格式打印

    我正在寻找如何在 C 中打印以便固定表列宽度 目前我已经使用空格和 and 但是一旦数字达到两位数 所有对齐都会变坏 NODE ORDER PARENT 0 0 1 7 7 2 1 0
  • 根据批处理中的 zip 文件重命名提取的文件

    我有多个 zip 文件 其名称例如 001 zip 002 zip 003 zip 并且有可能达到 999 zip 每个 zip 文件只有一个文本文件 我想使用 Batch 提取每个 zip 文件 然后将提取的文本文件重命名为 zip 的文
  • 矩阵组合逻辑

    注意 请阅读所有其他相关问题 这是我第一次和第二次尝试提出这个问题 确定测试矩阵结果的有效方法 笛卡尔积是最好的方法吗 问题是这样的 我有几个 比如 20 个 布尔验证 true false 所有布尔验证作为一个整体也有一个验证结果 我正在
  • PL/SQL 中的并行调用

    我有一个带有 proc 的包 它将执行许多其他过程 如下所示 CREATE PACKAGE BODY pkg IS CREATE PROCEDURE do IS BEGIN other pkg other proc other pkg2 o
  • 将自定义对象从 servlet 传递到 JSP

    我想将 Student 类型的自定义对象从 servlet 传递到 JSP 我创建了一个学生 bean 类 Student 包含 2 个属性firstname 和lastName 学生豆 import java io Serializabl
  • n个字符串的最长公共子串的Java实现

    我需要找到 n 个字符串的最长公共子串并在我的项目中使用结果 java中是否有任何现有的实现 库已经做到了这一点 关于什么并发树 这是一个小型 约 100 KB 库 可用于梅文中心 该算法使用组合Radix and 后缀树 众所周知 它有一
  • 使用按位运算求给定数字的平方根

    是否有一种算法可以使用按位运算求给定数字的平方根 有这段著名的代码魔法计算inverse平方根与一些非常聪明的小玩意 它被错误地归因于约翰 卡马克 这是更深入的挖掘进入它的起源 也许这就是你要问的 但我不建议使用它 在现代 CPU 上 它无