PHP数学扩展函数BC】的更多相关文章

需要准确高精度计算的时候,如果直接计算会出现不准确的情况,要用BC函数. bcadd — 2个任意精度数字的加法计算 bccomp — 比较两个任意精度的数字 bcdiv — 2个任意精度的数字除法计算 bcmod — 对一个任意精度数字取模 bcmul — 2个任意精度数字乘法计算 bcpow — 任意精度数字的乘方 bcpowmod — Raise an arbitrary precision number to another, reduced by a specified modulus…
简介: 对于任意精度的数学,PHP提供了支持用字符串表示的任意大小和精度的数字的二进制计算,最多为2147483647-1(或0x7FFFFFFF-1). bcadd - 2个任意精度数字的加法计算 bccomp - 比较两个任意精度的数字 bcdiv - 2个任意精度的数字除法计算 bcmod - 对一个任意精度数字取模 bcmul - 2个任意精度数字乘法计算 bcpow - 任意精度数字的乘方 bcpowmod - Raise an arbitrary precision number t…
1.bc命令可以完成浮点数的运算.其中 scale可以指定保留的小数点位数. 2.举例 例1: 例2:…
索引表格 命令 功能简述 目录与文件基本操作 pwd 显示当前目录 ls 列出目录和文件名称 cp 复制文件或目录 mv 移动或更名现有的文件或目录 rm 删除文件或目录 mkdir 新建目录 rmdir 删除空目录 file 显示文件类型 stat 显示文件或文件系统的详细信息 du 显示文件或目录大小 touch 更改文件或目录的时间标记 ln 建立链接文件 查找文件或目录 which 在$PATH设定的目录范围查找指定文件 whereis 查找文件(只用于查找:二进制文件.源代码文件.ma…
bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 使用let.(()).$(())或$[]进行基本的整数运算,使用bc进行高级的运算,包括小数运算.其中expr命令也能进行整数运算,还能判断参数是否为整数,具体用法见expr命令全解. 其中let和(())几乎完全等价,除了做数学运算,还支持数学表达式判断,例如数值变量a是否等于3:let a==3或((a==3)),但一般不会使用它们来判断,而是使用test命令结合…
一.常见问题 用 PHP 做计算时经常会遇到精度带来的问题,下面来看两个常见的例子: 1. 运算比较 下面表达式输出的结果不是相等: <?php echo 2.01 - 0.01 == 2 ? '相等' : '不相等'; // 不相等 2. 类型转换 下面表达式输出的结果不是201(如果想输出你想要的结果,需要先转 string 再转 int): <?php $num = intval(2.01 * 100); var_dump($num); // int(200) 你也许会觉得很奇怪,然而这…
通常情况做简单的运算,很多命令里面都是支持的.比如for, awk等. #!/bin/bash num= #for循环这里的数字也是运算 #也可以使用 #也可以使用数组 ;i<=;++i)) do ##整数运算 num=$[i*/] echo $num done 做一些复杂的操作就需要使用bc命令,比如浮点数运算,进制转换等. #!/bin/bash num=$[/] #结果是0 #bc 除了 scale 来设定小数位之外,还有 ibase 和 obase 来其它进制的运算 echo "i…
一.expr 1.1 语法 注意必须有空格 只能精确到整数,无法精确到浮点数 1.2 操作符对照表 使用expr命令时需要加\进行转义,因为部分符号是保留关键字 例1:比较num1跟num2的大小 [root@localhost ~]# num1=30 [root@localhost ~]# num2=50 [root@localhost ~]# expr $num1 \> $num2 0[root@localhost ~]# num3=`expr $num1 \> $num2` 其余以此类推…
定义和用法 bcpow - 任意精度数字的乘方 版本支持 PHP4 PHP5 PHP7 支持 支持 支持 语法 bcpow( string $left_operand , string $right_operand [, int $scale = int ]) bcpow() 左操作数的右操作数次方运算. 参数 参数 必需的 描述 left_operand 是 字符串类型的左操作数. right_operand 是 字符串类型的右操作数. scale 否 此可选参数用于设置结果中小数点后的小数位…
今天来学习的是关于数学方面的第一个扩展.对于数学操作来说,无非就是那些各种各样的数学运算,当然,整个程序软件的开发过程中,数学运算也是最基础最根本的东西之一.不管你是学得什么专业,到最后基本上都会要学习数据结构与算法,而算法其实就是研究的如何利用数学来优化各种排序和查找能力.PHP 在底层已经帮我们准备好了很多的数学计算函数,就让我们一一来学习吧. 什么是精度问题 关于精度问题,可能很多做过金融方面的小伙伴都不会陌生.特别是前端的同学,如果你在 js 中执行 1.1+2.2 ,获得的结果往往不会…
机器学习中遗忘的数学知识 最大似然估计( Maximum likelihood ) 最大似然估计,也称为最大概似估计,是一种统计方法,它用来求一个样本集的相关概率密度函数的参数.这个方法最早是遗传学家以及统计学家罗纳德·费雪爵士在1912年至1922年间开始使用的. 最大似然估计的原理 给定一个概率分布,假定其概率密度函数(连续分布)或概率质量函数(离散分布)为,以及一个分布参数,我们可以从这个分布中抽出一个具有个值的采样,通过利用,我们就能计算出其概率: 但是,我们可能不知道的值,尽管我们知道…
在linux下,存在一个命令行的计算器:bc.该程序一般随发行版发布. bc计算器能够执行一些基本的计算,包括+,-,×,\,%. 这些计算不经针对十进制,还可以使用二进制,八进制,十六进制,并且可以混用! 启动 启动时,在终端输入bc命令即可 退出 退出时可以使用Ctrl+D,也可以输入quit. 精度 bc计算器的精度与数学意义上的是一样的.需要注意的在执行除法时的使用. 实例…
本博客已经迁往http://www.kemaswill.com/, 博客园这边也会继续更新, 欢迎关注~ 数学计算是Shell中比较常用的一种操作,  但是因为shell中所有的变量都默认为字符串, 这就使得在shell中进行数学计算比较复杂, 以下直觉上貌似正确的方法是不对的: #第一种错误方法 $ var=+ #第二种错误方法 $ var= $ var=$var+ 以上两种方法的输出结果都是1+1 , 而不是我们期望的2 . 在shell中进行数学计算可以通过以下方法来进行: 1. decl…
Abstract : 1)  Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算: 2)Linux shell 中使用 expr 与 bc 两个程序实现高级运算: 1, Linux shell 变量的基本运算 数值作为常规变量直接赋值给变量,并且以字符串形式保存. 1.1 let 命令可以用于直接执行基本操作:         当我使用 let 的时候,我们不使用 $ 符号引用变量. no1=7; no2=8; echo "---…
神奇的计算器dc和bc Linux就这个范儿 P244http://baike.baidu.com/link?url=YlTtivBfc1tfzreeUQoe8D0C6yqwbZGqnmlObq1hjvadXXlaTNiwKkHlI9U-4TxwD4CUxos6OQnwIESMyoXuLue_ZHKO3fevDZbNxhi4xPG dc古老一些,是desk caclulator的缩写,使用逆波兰式来表达算式bc要晚一些出现,1975年,bc是基础计算器basic calculator的缩写,bc…
Shell expr的用法  bc 命令   let命令 数学运算 let命令  expr命令  bc命令  $(())   $[] http://www.80ops.cn/archives/245.html expr命令一般用于整数值,但也可用于字符串. 一般格式为:expr argument operator argumentexpr也是一个手工命令行计数器.expr 10 + 10 等价于 echo 10 + 10|bc20expr 1500 – 900 等价于 echo 1500 – 9…
bc 命令:     bc 命令是用于命令行计算器. 它类似基本的计算器. 使用这个计算器可以做基本的数学运算. [tough@localhost *|bc [tough@localhost expr]$ echo '8+2'|bc [tough@localhost expr]$ echo "8 -2"|bc 把要计算工的内容放入文件中: [tough@localhost expr]$ echo "4+5" > cal.txt [tough@localhost…
shell数学运算支持整数运算的四种方法 1.let命令 no1=4; no2=5; let result=no1+no2 2.[]操作符 result=$[ no1 + no2] 3.(())操作符 result=$((no1 + no2)) 4.expr命令 result='expr 3 +4' 若要支持浮点型,需要通过管道的形式将运算表达式传给bc echo "4 * 0.56" | bc…
shell中的赋值和操作默认都是字符串处理,在此记下shell中进行数学运算的几个特殊方法,以后用到的时候可以来看,呵呵.   1.错误方法举例   a)   var=1+1   echo $var   输出的结果是1+1,悲剧,呵呵      b)   var=1   var=$var+1   echo $var   输出结果是1+1,依然悲剧,呵呵      2.正确方法   1)使用let   var=1   let "var+=1"   echo $var   输出结果为2,这…
变量和环境变量    var=value  给变量赋值,输出语句:$ echo $var或者是$ echo ${var},记住中间有个空格 例如:name="coffee" age="20" $echo "我的名字是:${name},年龄是:${age}" 在输出语句echo中可以在双引号中使用变量,但是如果是单引号那么变量不会扩展得到定义的值. 获取字符串的长度:${#var} //例如: name="yy" $echo $…
题记:写这篇博客要主是加深自己对脚本命令的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢. 高等Bash脚本编程指南(31):数学盘算命令 成于坚持,败于止步 操作数字 factor 将一个正数分解为多个素数. root@ubuntu:~/resource/shell-study/0622-2013# factor 2374 2374: 2 1187 root@ubuntu:~/resource/shell-study/0622-2013# factor 27417 27417…
1. 关于bc bc是随意精度计算器语言,通常在linux下当计算器用,简单好用.相当于windows下的计算器. 2. 支持的运算符 主要的数学运算: + 加法 - 减法 * 乘法 / 除法 ^ 指数 % 余数 还支持表达式, 逻辑运算, 数学函数. 3. 使用 在linux下输入bc $ bc bc 1.06 Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc. This is free software w…
最近经常要在linux下做一些进制转换,看到了可以使用bc命令,如下: echo "obase=10;ibase=16;CFFF" | bc 用完以后就对bc进行了进一步的了解, man bc里面有详细的使用说明. 1.是什么,怎么用 bc - An arbitrary precision calculator language   一个任意精度的计算器语言. 从他的使用上来看,能够对计算公式的语法进行解释并返回出结果.有下面几种使用方式: 1).交互式 输入bc,进入交互式界面,然后…
Linux Shell 数学运算 在Linux中直接使用数学运算符进行数学运算往往得不到我们想要的计算结果.要在Shell中进行数学运算,我们需要借助点小手段.目前,Linux Shell中进行数学运算的方法主要有三种:bc.expr.let. 1 bc 1.1 命令行方式 在bash界面,直接输入bc或者bc -q,就可以进去bc的命令行,通过使用数学运算符能够得到我们想要的结果: [scott@centos1 ~]$ bc -q + - - * / % ^ scale=;/ . % scal…
bc: bc 是一种高精度的可交互执行的计算机语言.它在一些浮点数的运算中应用广泛. 一般情况下我们直接输入 bc ,便可进入其工作环境.当然,它还有其他的参数 -h 显示帮助信息并退出 -i 强制进入交互模式 -l 定义了标准的数学库 -w 使用扩展时给出警告 -s 使用标准语言 -q 不打印欢迎信息 -v 打印版本信息并退出 在bc中大多数的元素是数字,他们都有两种属性:长度与精度(小数点位数) bc有4中特殊的变量 scale 精度(小数点之后的位数) ibase 输入进制数 obase…
有时候我们进行一些数学运算,我们会去开系统自带的计算来做这件事情,其实我们也可以直接在终端里面用命令行进行的. 在命令行里敲 bc 进入数学计算模式,然后随便输入数学表达式 回车 ,结果就出来了,是不是很方便呢?假如你要进行浮点数运算,就需要先敲 scale=3 回车 然后输表达式,这里的3是保留小数点后3位,可以根据需求任意设定. 按 Ctrl+D 可以退出运算模式. 但是每次都要bc进入运算模式 还要设定精度,是不是很烦呢?所以我们可以把这个写成一个脚本,每次以命令的形式去调用. 在 /us…
shell中要进行数学运算通常有3中方法: expr命令 比如 expr 1 + 6就会返回7,使用expr的缺点就是碰到乘法运算,或者加括号(因为它们在shell中有其他意义),需要使用转义,比如:expr \( 2 + 3\)  \* 5,这样就会使得表达式很难看 $[expression]命令 使用$[expression]命令也可以进行数学计算,并且比expr方便的是*和括号可以不用转义,比如仍然计算(2 + 3) * 5,可以直接写为: result=$[ (2 + 3) * 5 ]…
shell中的赋值和操作默认都是字符串处理,在此记下shell中进行数学运算的几个特殊方法.以后用到的时候能够来看,呵呵 1.错误方法举例 a) var=1+1 echo $var 输出的结果是1+1,悲剧,呵呵 b) var=1 var=$var+1 echo $var 输出结果是1+1.依旧悲剧,呵呵 2.正确方法 1)使用let var=1 let "var+=1" echo $var 输出结果为2.这次没有悲剧 注意: a)经我測试let差点儿支持全部的运算符,在网上看到一篇文…
本文参考dx11龙书 Chapter1 vector algebra(向量代数) 要想学好游戏编程,扎实的数学知识是尤为重要的,下面将对dx11龙书中有关向量的数学知识做一下总结. 在数学中,几何向量(也称为欧几里得向量,通常简称向量.矢量),指具有大小(magnitude)和方向(direction)的几何对象,可以形象化地表示为带箭头的线段,箭头所指:代表向量的方向.线段长度:代表向量的大小. 向量的表示方式一般有3种: 1.代数表示:一般印刷用黑体小写字母α.β.γ…或a.b.c… 等来表…
shell变量数学运算 #!/bin/sh # 本脚本说明shell脚本中变量运算的用法 # 错误的用法var=1var=$var+1echo $var 输出:1+1 # 第一种用法,letvar=1let "var+=1"echo $var 输出:2 # 也可以不加""let var=$var+1echo $var 输出:3 # 也可以不加$直接引用let var+=1echo $var 输出:4 # 方幂运算用**let var=var**2echo $var…