[No000012]编程中浮点数之什么是科学计数法

科学记数法

把一个绝对值小于1(或者大于等于10)的实数记为a×10n的形式(其中1≤/a/<10),这种记数法叫做科学记数法。

这是一种记数的方法。把一个绝对值小于1(或者大于等于10)的实数记为a×10^n的形式(其中1≤|a|<10),这种记数法叫做科学记数法。例如19971400000000=1.99714×10^13。计算器或电脑表达10的的幂是一般是用E或e,也就是1.99714E13=19971400000000。

科学记数法记法与好处

当我们要标记或运算某个较大或较小且位数较多时,用科学记数法免去浪费很多空间和时间。

精确

科学记数法的形式是由两个数的乘积组成的。表示为a×10^baEb

其中一个因数为a(1≤|a|<10),另一个因数为10^n(n是比A的整数部分少1的正整数)。

方便

用科学记数法表示数时,不改变数的符号,只是改变数的书写形式而已。可以方便的表示日常生活中遇到的一些极大或极小的数,如:光的速度大约是300,000,000米/秒;全世界人口数大约是:6,100,000,000.

这样的数,读、写都很不方便,我们可以免去写这么多重复的0,将其表现为这样的形式:6,100,000,000=6.1×10^9,

或:0.00001=1×10^-5,即绝对值小于1的数也可以用科学记数法表示为a乘10 的负n次方的形式。

记法

一般地,将绝对值大于1的数字  记为:  的形式,  的值由  的位数决定,  为  位数,则  ,

如果  是绝对值小于1的数字,且有  位有效数字,则  ,  

精确度

运用科学记数法a×10^n的数字,它的精确度以a的最后一个数在原数中的数位为准。

如:1.32X10^4,精确到百位

320200,精确到千位,记作:3.20X10^5

运算

aEb=a×10^b

1. 3×10^4+4×10^4=7×10^4

aEc±bEc=﹙a±b﹚Ec

2. 3E6×6E5=1.8E11

aEM×bEN=abE(M+N)

3. -6E4÷3E3=-2E1

aEM÷bEN=a/bE(M-N)

相关的一些推导

(aEc)^2=(aEc)(aEc)=a^2E2c

(aEc)^3=(aEc)(aEc)(aEc)=a^3E3c

(aEc)^n=a^nEnc

a×10^logb=ab

aElogb=ab

⒍n"E"公式 3E4E5=30000E5=3E9

即aEbEc=aEb+c

6E-3E-6E3=0.006E-6E3

=0.000000006E3

=6E-6

即aEbEcEd=aEb+c+d

得aEa1Ea2Ea3.......Ean=aEa1+a2+a3+.......+an

⒎n"E"公式与数列

据n"E"公式aEa1Ea2Ea3.......Ean=aEa1+a2+a3+.......+an

得aESn

等差n项和公式na1+n(n+1)/2×d

aEna1+n(n+1)/2×d

等比n项和公式Sn=a1n(q=1)或 n(1-q^n)/1-q

aESn [Sn=a1n(q=1)或 n(1-q^n)/1-q(q≠1) ]

数列通项记数

等差:aEan=aEa1+(n-1)d

等比:aEan=aEa1q^n-1

⒏aEb与aE-b

aEb=a×10^b

aE-b=a×10^-b 正负b决定E的方向

科学记数意义

"aE"表示并非具有科学记数意义,并且aE=a

"Ea"表示具有科学记数意义,即Ea=1Ea a=3时 1E3=1000

aEb=c a=c/Eb

时间: 2024-07-29 07:39:54

[No000012]编程中浮点数之什么是科学计数法的相关文章

如何使java中double类型不以科学计数法表示

在java中,把一个double或者BigDecimal的小数转换为字符串时,经常会用科学计数法表示,而我们一般不想使用科学计数法,可以通过:DecimalFormat a = new DecimalFormat("#,##0.00000000");        System.out.println(a.format(11111111.0000001000000001));的方式来格式化输出字符串. 对于BigDecimal的小数,如果制定精度<=6, 则可以放心的使用其toS

PYTHON学习0009:浮点数及其精确度、科学计数法----2019-6-7

浮点数可以近似理解为小数. 原文地址:https://blog.51cto.com/13543767/2406266

java中科学计数法数字转字符串

开发过程中有可能会遇到很小的数字,在显示过程中就转换成了科学计数法,这种不利于人的观看,于是就有必要转成字符串形式的.so. 将科学计数法的数字转换成字符串: 使用的是java.math的BigDecimal: BigDecimal bd = new BigDecimal("1.1920928955078125e-7"); String str = bd.toPlainString(); 显示结果: 0.00000011920928955078125 亲测好使..

java使用poi解析或处理excel的时候,如何防止数字变成科学计数法的形式和其他常见Excel中数据转换问题

当使用POI处理excel的时候,遇到了比较长的数字,虽然excel里面设置该单元格是文本类型的,但是POI的cell的类型就会变成数字类型. 而且无论数字是否小数,使用cell.getNumbericCellValue() 去获取值的时候,会得到一个double,而且当长度大一点的时候会变成科学计数法形式. 那么获取这个单元格的原始的数据,就其实是一个double怎么转换成整数的问题了. 使用DecimalFormat对这个double进行了格式话,随后使用format方法获得的String就

如何批量把excel中已显示的科学计数法取消

作者:iamlaosong 把一文本文档复制到EXCEL中时,其中一列数字全部变成科学计数法,这些数其实是条码号,不需进行运算,如何可以取消科学计算法,将数字显示成原来的样子呢?一般方法如下: 1.你先将单元格格式设置成文本格式 2.转成文本后,你将那单元格双击一下 3.或者在数字前面加符号"'"(没有引号,注意是英文输入法下的) 不过对于数据量比较大的场合,这样一个一个的处理显然效率太低,采用分列的方法可以很快的处理所有单元格. 1.选中需要处理的列,点击分列按钮或菜单: 2.点击&

sqlserver中float转varchar时不显示科学计数法

MSSQL中 float转换为varchar 变成科学计数法解决方案 在系统初始化的时候,因为有同事,没有在数值型的数据前面加上 单引号,导致进入数据库后都变成float型我们需要做以下转换就能将数据变为 varchar类型 declare @a float //定义一个float变量set @a =13824658956 //赋值float变量select @a as a //显示变量select convert(varchar(25),@a) as a //按字符串显示select conv

JavaScript中科学计数法转化为数值字符串形式

原文地址:https://www.css88.com/archives/9318(受益匪浅) JavaScript 中经常会碰到数值计算问题,偶尔会在不经意间报一个不是bug的bug.今天来说说一个特殊的例子.我以0.0011BTC 价格买入 0.0002CZR 计算出了的金额是 0.00000022BTC,而 JavaScript 计算出来的金额是 2.2e-7 .值是对的,只是用了科学计数法,也是数值类型.但是问题来了,一般用户用户看不懂 2.2e-7,那么就把它转换成 0.00000022

科学计数法转发成浮点数表示

private Double scientDouble; public Double getScientDouble() { return scientDouble; } public void setScientDouble(Double scientDouble) { this.scientDouble = scientDouble; } /** * @description:给Double类型赋值过大,或者过小时产生科学计数法. * 把科学计数法转换成浮点数表示 * @author: *

Excel中科学计数法如何转正常显示

当数值型数据达到12位的时候,将以科学计数法的方式显示在单元格内,但是编辑栏仍然正常显示.   右键单击12位数字所在单元格,在弹出的菜单栏中选择设置单元格格式.   在单元格格式中点数字选项卡,点自定义,在类型中输入一个“#”,然后点击确定,设置完之后原来的科学计数法消失,显示为实际的12位数字.   数值型数据最多能存储15位有效数字,如果超过15位,可以事先将单元格格式数字设置成文本. 原文地址:https://www.cnblogs.com/Sunshine-bing/p/1264273