#include <math.h>
#include <stdio.h>#include "crtl/crtl_assert.h"
#include "crtl/bits/crtl_math_sqrt.h"/* 快速平方根取倒数 */
/* compile with: -fno-strict-aliasing/ -Wno-strict-aliasing */
float crtl_qrsqrt(float number)
{
#define _MAGIC_NUM1  0x5f3759df
#define _MAGIC_NUM2  0x5f375a86long i;float x2, y;const float threehalfs = 1.5F;x2  = number * 0.5F;y   = number;i   = * ( long * ) &y; // evil floating point bit level hackingi   = _MAGIC_NUM2 - ( i >> 1 ); // what the fuck?y   = * ( float * ) &i;y   = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration// y   = y * ( threehalfs - ( x2 * y * y ) );// 2nd iteration, this can be removed
#ifndef Q3_VM
#ifdef __linux__crtl_assert_fp(stderr, !isnan(y) );// bk010122 - FPE?
#endif
#endif    return y;
}

C语言求一个数的平方根倒数的近似值-一战封神的代码相关推荐

  1. c语言编写平方根函数不用库函数,不使用库函数sqrt实现求一个数的平方根

    二分法: double mysqrt(double a) { if(a == ) return ; double precision = 1.0e-7, start = , end = a; if(a ...

  2. php怎么求最小公倍数,C++_详解C语言求两个数的最大公约数及最小公倍数的方法,求两个正整数的最大公约数nbs - phpStudy...

    详解C语言求两个数的最大公约数及最小公倍数的方法 求两个正整数的最大公约数 思路:这是一个很基本的问题,最常见的就是两种方法,辗转相除法和辗转相减法.通式分别为 f(x, y) = f(y, x%y) ...

  3. 牛顿迭代法求一个数的平方根(python)

    # !/usr/bin/env python # -*- coding: utf-8 -*- """ @Author: P♂boy @License: (C) Copyr ...

  4. 用C语言求三个数的最大值与排序

    用C语言求三个数的最大值与排序 1.用C语言求三个数的最大值 语法:if语句 代码如下: #include<stdio.h> int main() {int a, b, c;printf( ...

  5. python正整数平方根_python怎么求一个数的平方根

    在python中求一个数的平方根可以使用math模块,或者使用内置模块pow函数,还可以使用数学表达式,用两个**0.5表示. 例如# -*- coding: UTF-8 -*- # Filename ...

  6. 如何用C语言求两个数的较大值

    用C语言求两个数的较大值,有两种方法: 1,常规方法,利用选择语句的 if 语句 #include<stdio.h> int main() {int a=10;int b=20;if (a ...

  7. C语言求一个数的倒数的平方根近似值

    先来看一个程序: #include <stdio.h>int main() {float a;printf("数据排列:\n\n");printf("请输入相 ...

  8. 牛顿迭代法求一个数的平方根

    设r是f(x) = 0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y = f(x)的切线L,L的方程为y = f(x0)+f'(x0)(x-x0), 求出L与x轴交点的横坐标 x1 ...

  9. c语言求两个数的最小公倍数辗转相除法,C语言辗转相除法求2个数的最小公约数...

    辗转相除法最大的用途就是用来求两个数的最大公约数. 用(a,b)来表示a和b的最大公约数. 有定理: 已知a,b,c为正整数,若a除以b余c,则(a,b)=(b,c). (证明过程请参考其它资料) 例 ...

最新文章

  1. unix shell(壳)的简单实现
  2. tensorflow 制定 CPU 或GPU
  3. ML之FE:数据随机抽样之利用pandas的sample函数对超大样本的数据集进行随机采样,并另存为csv文件
  4. 聚焦“裂变”,又拍云推出直播云等多场景解决方案
  5. mysql修改表结构大表_在线修改MySQL大表的表结构
  6. MOVSX和MOVZX
  7. Matlab 【应用】【1】用Matlab找一组模拟波形的极值(含极大值、极小值、最大值)并在图中画出来
  8. hlsl之ambient
  9. Android 系统预装添加第三方apk到data/app
  10. ubuntu常用软件安装集合:360浏览器、QQ--持续更新
  11. 如何利用ThoughtWorks.QRCode 生成二维码
  12. 【浙江大学PAT真题练习乙级】1003 我要通过!(20分) 真题解析
  13. 如何突破网盘限速?获取下载链接的三种方法
  14. matlab随机信号实验报告,随机信号分析实验报告(基于MATLAB语言)
  15. linux系统刷苹果4s,iOS8.4降级6.1.3教程 iPhone4s降级iOS6.1.3
  16. SpringBoot+RabbitMQ 实现 RPC 调用
  17. python:网络爬虫之遍历单个域名获取电影名称及年份
  18. 【Linux基础编程】tr命令
  19. mac游戏排行榜,mac好玩的游戏推荐 (一)
  20. Victor ti99不错

热门文章

  1. Centos7的 git: 未找到命令解决方法
  2. 第64节:Java中的Spring Boot 2.0简介笔记
  3. 1-微信小程序开发(安装软件和运行第一个微信小程序)
  4. 模拟赛 10-14考试再次翻车记
  5. POJ3287(BFS水题)
  6. [C#] NPOI Excel解析
  7. 一个入门级的Java Applet
  8. java三个线程 顺序执行_如何确保三个线程顺序执行
  9. 流媒体服务器主板型号怎么看,关于服务器的详解
  10. windowswps怎么以文件形式发送_wps怎么以文件形式分享