C++中的“定点数”和“科学(指数)计数法”是什么意思?

来自:    更新日期:早些时候
C++中如何在科学计数法的指数中输入变量?~

C++的科学计数法本质上是常量的一种表达方式,或者说一种写法,这种写法只能应用于常量中。所以变量是不能写入在科学计数法的任何位置的。
如n为变量,那么nE2, 或1.2En的方式都是错误的,无法编译通过。
要实现指数可变的情况,可以不通过科学计数法,而是采用变量赋值的方式变通实现。
如要获取到一个值为aEb的实数,那么可以先输出a和b,然后根据科学计数法原理计算a乘10的b次幂,得到最终的值。
double a, b;double r;cin >> a >>b;//输入a和b。r = a*pow(10,b);//计算值。

第一个是3.000乘10的0次方,后一个是6.667乘以10的负1次方,后面的照此理解。如果你将输出结果强制转化为整形,就不会出现这个情况。
肯定是因为你将输出结果定义为了浮点型,或者参与计算的变量有浮点型的。你想不定义计算结果的数型又想显示整数可以用int(表达式)或者(int)表达式 来强制转化计算结果。

定点数 :
计算机中采用的一种数的表示方法。参与运算的数的小数点位置固定不变。当表示一个数时,左边第一位为符号位,“0”表示正,“1”表示负。小数点位置一般固定在符号位之后,即将数限制在-1和 1之间。这样,参与运算的数必须乘上一个适当的比例因子,使其绝对值不大于1。

参考资料:http://baike.baidu.com/view/686808.htm

科学计数法
为了计数方便,一个大于10的数可以表示成 a×10n(n在右上角,是指数)的形式,其中1≤|a|<10,n表示整数,两个数之间用e分隔,这种记数方法叫科学记数法。 例如123456用科学记数法表示为1.23456e5

参考资料:http://baike.baidu.com/view/41154.html


C++中的“定点数”和“科学(指数)计数法”是什么意思?视频

相关评论:
  • 17015023004c语言 求助 这个不知道咋填,也没有定义math.h 如何求1e-5 最好解释一...
    滕宗星但浮点数,带小数部分的那种,就不是那么直接的了,科学家大致使用定点数和浮点数两种方式来表示数学上常规意义的实数,主流还是以浮点数为主(即小数点是浮动的),浮点数在计算机中有三个部分:符号位、指数、尾数。详细的见图片:因此浮点数都有不确定尾数,如果判断两个浮点数是否相等,一定要用它们...

  • 17015023004c语言 较专业问题。
    滕宗星记得好像不能用%f来输出整形的数,学过计算机组成原理的同学就知道,cpu是以不同的方式来存储处理浮点数和整形数的,浮点数由S E M 三部分组成,S(一位二进制)是符号位 ,E(八位二进制)是阶码 ,M(23位二进制)是尾数,而整形数属于定点数,在cpu寄存器中直接用二进制表示(注意是使用补码方式)定点数,...

  • 17015023004C语言中的阶符是什么意思 请举例说明
    滕宗星阶符是当一个数用科学计数法表示时,它的指数的符号,指数是正还是负,正负号就是阶符。计算机机内数,当用科学计数法表示时,分尾数,指数,阶符3部分,阶符占1位,负为1,正为0。C语言用e格式写数时 3.456e-03 就是 3.456 乘 10的负3次方,e后面的-号,就是阶符 正阶符,不写...

  • 17015023004在C语言中,float数据的存储形式和int的不同点?
    滕宗星float是浮点数,存储尾数和指数两部分,比如12.34 就是1.234e1 尾数是1234 指数是1,表示小数时由于尾数位数有限,所以有误差 int是定点数,只存储各位数,只能表示整数

  • 17015023004C语言中有效数字的定义与数学中的定义有区别吗
    滕宗星但是计算机中的量只能表示一个数的范围,所以不能到无限大,就是所谓的溢出。相对于整数,实数(小数)就有的意思了,C语言采用浮点数(计算机系统常用浮点数和定点数来表示实数)来表示实数。实数在计算机内的存储和整形有些不同。整形数据的存储就是他的二进制数据的顺序组合,实数的存储是用“科学计数...

  • 17015023004System CSYSTEM C基本概念
    滕宗星信号仅在模块内部使用,而端口连接不同模块间的信号传递。例如,输入端口din,输出端口dout和输入输出端口q的声明。System C提供了针对硬件设计的特定数据类型,如有符号和无符号整数(sc_int, sc_uint)、大整数(sc_bigint, sc_biguint)、二值和四值数据类型,以及定点数和用户自定义结构。这些数据...

  • 17015023004c语言,各个数, 参与位运算的时,为什么要用补码形式?
    滕宗星原码可以相加,但是不能想减哒。。所以用补码就可以想减了。列如1+1 00000001 +00000001 = 00000010 如果是2-1就不能这么想减了,就只有2+(-1),00000010+11111111=100000001,最高位1舍掉,就成了00000001=1,差不多就这样。

  • 17015023004在c语言中“%6.2f\\n”和“%.2f\\n”是什么意思?
    滕宗星6.2f\\n -- float 型定点数格式,输出数据占6个字符位置,含符号,小数点。小数点下2位,再换一行。不足6位填空白。超出6位按实际位数占位输出。(也可用于作输入格式控制--略).2f\\n -- float 型定点数格式,输出数据 小数点下2位。再换一行。 默认占位个数。举个例子比如 9.2f就...

  • 17015023004C语言中,原码,补码和反码怎么换算?
    滕宗星换算方法如下:1、数在计算机中是以二进制形式表示的。2、数分为有符号数和无符号数,原码、反码、补码都是有符号定点数的表示方法。3、一个有符号定点数的最高位为符号位,0是正,1是副;【原码】就是这个数本身的二进制形式。4、正数的【反码】和补码都是和原码相同;负数的【反码】是将其...

  • 17015023004C语言中float,double等类型,在内存中的结构
    滕宗星序存储的,那么就因该是这样:11101000 00000011,这就是定点数1000在内存中的结构。目前C\/C++编译器标准都遵照IEEE制定的浮点数表示法来进行float,double运算。这种结构是一种科学计数法,用符号、指数和 尾数来表示,底数定为2——即把一个浮点数表示为尾数乘以2的指数次方再添上符号。下面是具体的...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网