科学计数法

1024 科学计数法

假如想象 提交于 2020-03-10 12:33:11
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。 现以科学计数法的格式给出实数 A,请编写程序按普通数字表示法输出 A,并保证所有有效位都被保留。 输入格式: 每个输入包含 1 个测试用例,即一个以科学计数法表示的实数 A。该数字的存储长度不超过 9999 字节,且其指数的绝对值不超过 9999。 输出格式: 对每个测试用例,在一行中按普通数字表示法输出 A,并保证所有有效位都被保留,包括末尾的 0。 输入样例 1: +1.23400E-03 输出样例 1: 0.00123400 输入样例 2: -1.2E+10 输出样例 2: -12000000000 这个题不难但比较繁琐,一步一步将字符串转换为数字。 #include <iostream> #include<algorithm> #include<string> using namespace std; int main() { string t,p; cin >> t; int i=2,k=0; p.insert(p.end(), t.begin() + 1, t.begin() + 2); while (t[++i] != 'E'

1024 科学计数法

半腔热情 提交于 2020-03-08 12:37:24
输入格式: 每个输入包含 1 个测试用例,即一个以科学计数法表示的实数 A。该数字的存储长度不超过 9999 字节,且其指数的绝对值不超过 9999。 输出格式: 对每个测试用例,在一行中按普通数字表示法输出 A,并保证所有有效位都被保留,包括末尾的 0。 输入样例 1: +1.23400E-03 输出样例 1: 0.00123400 输入样例 2: 1.2E+10 输出样例 2: 12000000000 # include <iostream> # include <string> using namespace std ; int main ( ) { string s ; int len0 = 0 ; cin >> s ; for ( int i = 0 ; i < s . length ( ) ; i ++ ) if ( s [ i ] == 'E' ) { for ( int j = i + 2 ; j < s . length ( ) ; j ++ ) len0 = len0 * 10 + ( s [ j ] - '0' ) ; if ( s [ 0 ] == '-' ) cout << '-' ; if ( len0 == 0 ) { for ( int j = 1 ; j < i ; j ++ ) cout << s [ j ] ; } else if ( s [

B1024 科学计数法

巧了我就是萌 提交于 2020-02-27 19:39:23
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。 现以科学计数法的格式给出实数 A,请编写程序按普通数字表示法输出 A,并保证所有有效位都被保留。 输入格式: 每个输入包含 1 个测试用例,即一个以科学计数法表示的实数 A。该数字的存储长度不超过 9999 字节,且其指数的绝对值不超过 9999。 输出格式: 对每个测试用例,在一行中按普通数字表示法输出 A,并保证所有有效位都被保留,包括末尾的 0。 输入样例 1: +1.23400E-03 输出样例 1: 0.00123400 输入样例 2: -1.2E+10 输出样例 2: -12000000000 思路: 1.指数为负的情况:这种情况一定是0.00…0****,小数点后的0的个数为exp-1,然后接着是E前面的数字 2.指数为正:exp非零时,小数点添加到原来标号exp+2的数字后,如果小数点之后和E之间的整数个数pos-3等于exp,说明小数点恰好移动到数的最右端,不需要输出,如果exp比pos-3大,则对应输出exp-(pos-3)个0 C代码: # include <stdio.h> # include <string.h> int

浮点数——科学计数法、浮点数表示、加减运算和浮点数的使用

我的梦境 提交于 2020-02-17 14:37:48
目录 1.2浮点数 1.2.1 科学计数法 1.2.2 浮点数表示 1 符号位 2价码位 1.2.3 加减运算 1.2.4 浮点数的使用 1.2浮点数 浮点数是采用科学计数法来表示的,由符号位、有效数字、指数三部分组成。使用浮点数存储和计算的场景无处不在,若使 用不当则容易造成计算与理论值不一致,如下示例代码。 float a = 1f; float b = 0.9f; // 结果为: 0.100000024 float f = a -b; 执行结果显示计算结果与预期存在明显得误差,下面我们来深入剖析造成这个误差的原因来介绍浮点数的构成与计算原理。由于浮点数是以科学计数法来表示的。 1.2.1 科学计数法 浮点数是计算机用来表示小数的一种数据类型。在数学中,采用科学计数法来近似表示一个极大或一个极小且位数较多的数。例如a × ,其中a满足1≤ |a| <10, 是以10为底数,n为指数的幂运算表达式。a × 还可以表示成aen。 科学计数法的有效数字为从第一个非零数字开始的全部数字,指数决定小数点的位置,符号表示该数的正负。值得注意的是,十进制科学计数法要求有效数字的整数部分必须在[1, 9]区间内,满足这个要求的表示形式被称为“规格化”。科学计数法可以唯一地表示任何一个数,且所占用的存储空间会更少,计算机就是利用这一特性表示极大或极小的数值。例如长整型能表示的最大值约为922亿亿

PAT (Basic Level) 1024 科学计数法 (20分)JAVA解法

女生的网名这么多〃 提交于 2020-02-16 00:00:25
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。 现以科学计数法的格式给出实数 A,请编写程序按普通数字表示法输出 A,并保证所有有效位都被保留。 输入格式: 每个输入包含 1 个测试用例,即一个以科学计数法表示的实数 A。该数字的存储长度不超过 9999 字节,且其指数的绝对值不超过 9999。 输出格式: 对每个测试用例,在一行中按普通数字表示法输出 A,并保证所有有效位都被保留,包括末尾的 0。 输入样例 1: +1.23400E-03 输出样例 1: 0.00123400 输入样例 2: 1.2E+10 输出样例 2: 12000000000 import java . math . BigDecimal ; import java . util . Scanner ; public class Main { public static void main ( String [ ] args ) { Scanner sc = new Scanner ( System . in ) ; BigDecimal s = sc . nextBigDecimal ( ) ; System . out

oracle数据库number类型的数据显示为科学计数法

你说的曾经没有我的故事 提交于 2020-02-15 00:30:54
最近有一次在操作数据库查询时发现数据库中定义为怒number类型的数据却显示为科学计数法,原因是在taod或者pl/sql工具里,将比较大的数据自动解析存储为科学计数法方式的的数据了。在toad中进行如下修改: view->option->data->display large number in scientific notion 不选中该选项即可显示正常。 在pl/sql developer中进行如下修改: tools->preferences->sql windows->number fields tochar 选中该选项即可显示正常 来源: CSDN 作者: 30醒悟的码农 链接: https://blog.csdn.net/u010448750/article/details/104320420

1024 科学计数法

こ雲淡風輕ζ 提交于 2020-02-07 21:59:49
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9] . [0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。 现以科学计数法的格式给出实数 A,请编写程序按普通数字表示法输出 A,并保证所有有效位都被保留。 输入格式: 每个输入包含 1 个测试用例,即一个以科学计数法表示的实数 A。该数字的存储长度不超过 9999 字节,且其指数的绝对值不超过 9999。 输出格式: 对每个测试用例,在一行中按普通数字表示法输出 A,并保证所有有效位都被保留,包括末尾的 0。 输入样例 1: +1.23400E-03 输出样例 1: 0.00123400 输入样例 2: -1.2E+10 输出样例 2: -12000000000 题目不难就是稍微麻烦点,搞清楚思路就好,首先一个特殊情况就是指数为0是直接输出整数和小数部分(带小数点),之后计算指数的大小,为正则是在小数后补0同时小数点后移(分情况)一种是指数大于小数位数因为没有小数后面要补0,一种是指数小于小数位数,则是小数点相应的后移, 为负时则是在前面加0,指数为多少就加多少0; 代码: #include<iostream> #include<cstring> using namespace std; int

pat乙1024 科学计数法

泄露秘密 提交于 2020-01-30 08:06:37
# include <iostream> # include <cstring> using namespace std ; bool isnumber ( char c ) //判断是否为数字 { if ( c >= '0' && c <= '9' ) return true ; else return false ; } int main ( ) { string line ; getline ( cin , line ) ; int flag = 1 , flag1 , flag2 , e = 0 , n , i = 0 , now ; int len = line . length ( ) ; if ( line [ 0 ] == '+' ) flag1 = 1 ; //第一位为底数符号 else flag1 = 0 ; line . erase ( line . begin ( ) ) ; while ( i < len ) //处理字符串 { if ( flag && isnumber ( line [ i ] ) ) //保留数字 { i ++ ; } else if ( line [ i ] == '.' ) //去掉小数点 { line . erase ( line . begin ( ) + i ) ; } else if ( line [ i ] == 'E'

Python:数值类型

拈花ヽ惹草 提交于 2020-01-20 19:05:08
数值类型的组成 数值类型可以直接使用的有:整数、浮点数、复数 Python3的整型,可以自动调整大小,当做long使用 整数 int 整数的进制表示 表示形式: 二进制: 0b... 八进制: 0o... 或者 直接以 0 开头 十进制:... 十六进制: 0x... 浮点数 float 由整数部分和小数部分组成 可以使用科学计数法进行表示 科学计数法表示时的注意点:。。。。。。 复数 complex 由实部和虚部构成: a + bj a,b都是浮点数 来源: https://www.cnblogs.com/wbyixx/p/12219034.html