⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fn.html

📁 浮点数基本运算 浮点数的基本运算主要有四则运算、符号处理、大小比较
💻 HTML
字号:
<html>
<head>
  <title>BT2IL::Float Number 浮点数部分</title>
  <link rel="stylesheet" href="bt2il.css" type="text/css">
</head>
<body>
  <h1>BT&sup2;IL::Float Number 浮点数部分</h1>
  <p>这一部分相当有趣,包含最常见的一些数学公式,也许可以看成是“编译
期的数学库”,compile-time math library,简称“CTML”?</p>
  <p>关于浮点数的大概分成五个部分,基本运算、三角函数、指数对数、常量
和其它运算。基本运算包含了基本的四则运算、大小比较,以及浮点数的分拆;
三角函数包含了 sin、cos、tan 和 arcsin;指数对数包含了自然指数、自然对
数、常用对数、幂指数,以有开方运算;常量有&pi;、e 等;其它运算有阶乘等。
</p>
  <p>这些运算应该能达到至少 14 位数的精度;多数应该能达到 double 的最
高精度。不过,目前为止,我还没有提供一个错误检测机制,比如防止 ln 的参
数为负。</p>
  <p>所有有关浮点数的运算,都在 namespace btil::fn 中。</p>

  <h2>浮点数的表示</h2>
  <p>浮点数并不能直接作为模板参数来处理,这样也就限制了在编译期计算中
进行浮点运算。解决的办法就是把浮点数隐藏于一个类中,然后以此类作为模板
的参数再传递。虽然如此,在模板特化时,还是极为不方便。注意,在此所说的
“浮点数”最可能是一个类型!如果说到浮点值,才可能是一个具体的如 
double 的值。下面是一个典型的“浮点数”:</p>

  <pre class="example-code">// 浮点数
struct float_number
{
  static const double f_val = 1.414;            // 必须是 f_val
};
</pre>
  <p>实际上,浮点数可以这样定义:只要含有类型为 static const double 的
成员“f_val”的类,都可称为“浮点数”(Float Number),f_val 为其浮点
“值”。</p>

  <h2><a href="fnbase.html">浮点数基本运算</a></h2>
  <p>浮点数的基本运算中有加、减、乘、除、取负、绝对值、相等比较、浮点
数分解等。</p>

  <h2><a href="fnexp.html">指数对数运算</a></h2>
  <p>包含一些指数、对数以及幂函数,如 e<sup>x</sup>、ln<i>x</i>、
lg<i>x</i>、x<sup>y</sup>、sqrt<i>x</i>等。</p>

  <h2><a href="fntrigo.html">三角函数</a></h2>
  <p>包含常见的三角函数,如 sin、cos、tan、arcsin 等。</p>

  <h2><a href="fnconst.html">常量</a></h2>
  <p>一些常见的常量,如 e、&pi;、sqrt<i>2</i>、ln<i>10</i>等。</p>

  <h2><a href="fnother.html">其它数学函数</a></h2>
  <p>目前有阶乘、等比数列求和。</p>

</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -