c++问题,指数表示实数指数幂及其运算

欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 3526 人关注过本帖
标题:实型常量的指数表示的问题
等 级:论坛游民
帖 子:27
专家分:74
结帖率:75%
&&已结贴√
&&问题点数:5&&回复次数:8&&&
实型常量的指数表示的问题
一本C++书上写道:
几个实型常量的例子:
3.E-4&&&//指数表示-3.0*10(-4)&&&&&&括号表示10的-4次方
.76e5&&&//指数表示-0.76*10(5)&&&&&&括号表示10的5次方
我不明白这两个常量为什么都表示负数呢?
那么相应的正数应该怎么表示呢?
请高手指教,谢谢!
搜索更多相关主题的帖子:
等 级:论坛游民
专家分:10
关注,帮你顶一下。
等 级:论坛游民
帖 子:27
专家分:74
高手支招啊!
等 级:贵宾
威 望:10
帖 子:1020
专家分:167
你为什么自己不试试,这种问题没有问的必要
等 级:论坛游民
帖 子:12
专家分:18
是印刷错误或者笔误吧,楼主应该多动手,just test it(还有就是 尽信书不如无书)
等 级:论坛游民
帖 子:17
专家分:62
应该是印刷错误,都是正数。
等 级:新手上路
等 级:论坛游民
帖 子:18
专家分:11
回复 楼主 chen3bing
3.E-4&&.76e5 个人感觉应该改成3e-4&&0.76e5 应该就是我们常用的了吧
来 自:北京
等 级:贵宾
威 望:94
帖 子:6779
专家分:16751
回复 楼主 chen3bing
我也觉得表示的是正值。那个负号,书上写的是不是一个破折号这类的。
版权所有,并保留所有权利。
Powered by , Processed in 0.072241 second(s), 7 queries.
Copyright&, BCCN.NET, All Rights Reservedc++指数函数怎么表达_百度知道
c++指数函数怎么表达
rt,具体点
我有更好的答案
指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针
类型标识符
*函数名(参数表)
int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变量。
采纳率:38%
不过使用时要先声明引用指数函数是一个公式,C++文件库中本身就有的,然后指数的函数是pow(x,即加上一句#include&math.h&
C里面函数原型是double pow(double,double),需要包含math.h。C++里面推荐这样用(包含ISO C++从C继承的数学函数库,但头文件不带.h扩展名且前面加c,需要用namespace std,函数原型与C中相同):#include&cmath&//添加需要包含的头文件...int main(){ double d,a=2,b=3; d=pow(a,b); //d=a^b //添加代码... return 0;} 另外如果使用底数为e,可以用double exp(double),用法与以上类似。
a^x = e^{x ln(a)}
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
指数函数的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。在C/C++中数字类型主要有整数与浮点数两种类型,在32位机器中整型占4字节,浮点数分为float,double两种类型,其中float占4字节,而double占8字节。下面来说明它们在内存中的具体表现形式:
  整型:
  整型变量占4字节,在计算机中都是用二进制表示,整型有无符号和有符号两种形式。
  无符号变量在定义时只需要在相应类型名前加上unsigned 无符号整型变量用32位的二进制数字表示,在与十进制进行转化时只需要知道计算规则即可轻松转化。需要注意的是在计算机中一般使用主机字节序,即采用“高高低低的方式”,数字高位在高地址位,低位在低地址位,例如我们有一个整数0x那么它在内存中存储的格式为:04 03 02 01。
  有符号数将最高位表示为符号位,0为正数,1为负数其余位都表示具体的数值,对于负数采用的是补码的方式,补码的规则是用0x减去这个数的绝对值,也可以简单的几位将这个数的绝对值取反加1,这样做是为了方便将减法转化为加法,在数学中两个互为相反数的和为0,比如现在有一个负数数x,那么这个x&+ |x| = 0这个x的绝对值是一个正数,但是用二级制表示的两个数相加不会等于0,而计算机对于溢出采用的是简单的将溢出位丢弃,所以令x + |x| = 0x,这个最高位1,已经溢出,所以这个结果用四字节保存结果肯定会是0,所以最终得到的x
= 0x - |x|。
  浮点数:
  早期的小数表示采用的固定小数点的方式,比如规定在32位二级制数字当中,哪几位表示整数部分,其余的表示小数部分,这样表示的数据范围有限,后来采用的是小数点浮动变化的表示方式,也就是所谓的浮点数。
  浮点数采用的是IEEE的表示方式,最高位表示符号位,在剩余的31位中,从左往右8位表示的是科学计数法的指数部分,其余的表示整数部分。例如我们将12.25f化为浮点数的表示方式:
  首先将它化为二进制表示1100.01,利用科学计数法可以表述为:1.10001 * 2^3
  分解出各个部分:指数部分3 + 127= 011 + 0111111、尾数数部分:10001
  需要注意的是:因为用科学计数法来表示的话,最高位肯定为1所以这个1不会被表示出来
         指数部分也有正负之分,最高位为1表示正指数,为0表示负指数,所以算出来指数部分后需要加上127进行转化。
  将这个转化为对应的32位二级制,尾数部分从31位开始填写,不足部分补0即:0 |
| 1,隔开的位置分别为符号位、指数位,尾数位。
  因为有的浮点数没有办法完全化为二进制数,会产生一个无限值,编译器会舍弃一部分内容,也就说只能表示一个近似的数,所以在比较浮点数是否为0的时候不要用==而应该用近似表示,允许一定的误差,比如下面的代码:
float fTemp = 0.0001f
if(fFloat &= -fTemp && fFloat &= fTemp)
//这个是比较fFloat为0
& & & & &double类型的浮点数的编码方式与float相同,只是位数不同。double用11位表示指数部分,其余的表示尾数部分。
  浮点数的计算在CPU中有专门的浮点数寄存器,和对应的计算指令,在效率上比整型数据的低。
在写程序的时候,我们利用变量名来进行变量的识别,但是计算机根本不认识这些变量名,计算机中采用的是直接使用地址的方式找到对应的变量,同时为了能准确找到对应的变量,编译器会生成一个结构专门用于保存变量的标识名与对应的地址,这个标识名不是我们定义的变量名,而是在此基础上添加了一些符号,如下面的例子:
extern int nT
int main()
cout&&nTemp&&
我们申明一个变量,然后在不定义它的情况下,直接使用,这个时候编译器会报错,表示找不到这个变量,报错的截图如下:
我们可以看到编译器为这个变量准备的名称并不是我们所定义的nTemp,而是添加了其他标示。
在声明变量的时候编译器会为它准备一个标示名称,在定义时会给它一个对应的内存地址,以后在访问这个标示的时候编译器直接去它对应的内存位置去寻找它,下面我们添加这个变量的定义代码:
extern int nT
int nTemp = 0;
int main()
cout&&nTemp&&
}我们查看对应的汇编代码:
11:int nTemp = 0;
dword ptr [ebp-4],0
12:cout&&nTemp&&
我们可以看到在为这个变量初始化的时候编译器是直接找到对应的地址[ebp - 4],没有出现相关的变量名,所以说我们定义的变量名只是为了程序员能够识别,而计算机是直接采用寄存器寻址的方式来取用变量。
在编译器中同时也看不到与变量类型相关的代码,编译器在使用变量是只关心它的位置,存储的值,以及如何将其中的二进制翻译为对应的内容,代码如下:
int main()
int nTemp = 0x;
float *pFloat = (float*)&nT
char *pChar = (char*)&nT
cout&&nTemp&&
cout&&*pFloat&&
cout&&pChar&&
结果如下:
从这可以看出同一块内存因为编译器根据类型将它翻译为不同的内容,所展现的内容不同。
阅读(...) 评论()【C/C++教学专题之009】整数和实数常量
时间: 23:27:18
&&&& 阅读:293
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&  有了变量的定义,接着就是赋值和计算了。在C/C++中,正确使用常量是正确赋值和计算的首要环节。和基本类型大致相似,常量也可以简单分为整型、实型、字符型。大部分教材当中还会在这里介绍字符串常量,考虑到字符串的本质比较复杂,本专题当中就暂时跳过这个环节。
  整型常量
  除了生活中常用的10进制整数之外,在C/C++中可以直接使用8进制和16进制的整数。
  8进制整数:以数字0开始的整数就被认为是8进制整数,如077等。注意这里的数字是不能超过或者等于8的,如088就是错误的用法。
  提示:8进制整数很容易和10进制整数混淆,因为生活当中在整数最前方加0是无所谓的,但在这里0是区分的唯一标记。
  16进制整数:以数字0和字母X或x开始的整数就被认为是16进制整数,如0XFF等。
  提示:这里的字母X以及A~F,大小写是无所谓的,建议保持同一风格即可。
  整型常量的后缀
  可以在整数的后面加上字母L或者U,分别表示该整数的类型是long和unsigned类型。其实在一般情况下,这样做的意义并不突出,但还是需要简单解释一下。
  1、3L和3的区别:3L被指定为long
int类型,而3则是int类型。如果是在现在的计算机当中,两者是完全等价的,但在早期的16位计算机当中,就不完全一样了。这个问题其实和之前解释过的数据类型的区别是一致的。
  在最新的C++标准中,早已经开始支持64位的整数(long
long类型),要表示这种类型的整数也可以在整数的最后加上LL或者ll或者i64的后缀。
  2、3U和3的区别:3U被指定unsigned
int类型,而3则是int或者signed
int类型。其实只有在不同类型的混合运算当中,才会体现出这种写法的意义,但这种所谓的意义是非常“危险”的,如下例所示。
cout && (3U & -2) &&
//结果是0,也就是假
cout && (3 & -2) &&
//结果是1,也就是真
printf("%d\n",(3U & -2));
//结果是0,也就是假
printf("%d\n",(3 & -2));
//结果是1,也就是真
  可以看到,3U竟然要比-2要小,而3就比-2要大!这里面的原因我们会在后面的专题“数据类型的三种转换”当中提到。
  总之,这个例子提醒我们尽量回避这种用法,以免出现意料之外的结果。
  实数常量
  在C/C++中实数也有两种用法,第一种和生活当中完全一样直接表示,如3.1415926;第二种称为指数表示法,和科学计数法较类似,可以方便地表示很大或者很小的数。
  指数表示法:将小数写成aeb或者aEb的形式,其数值等价于a*10b。注意这个用法当中,a和b必须不能为空,且b必须是整数。
  另外,标准的科学计数法需要尾数部分一定要大于等于1且小于10,但aeb的用法里没有这个限制,比如100e2。
  实数常量后缀
  在C/C++中出现的实数默认为double类型。如果希望一个实数是float类型,可以在该常量的最后加上f或者F,如3.14f或者1e2F,当然这种需求很少见。标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&原文:http://www.cnblogs.com/fredxxj/p/3533484.html
教程昨日排行
&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!C++中,指数形式浮点型常量.12345e6表示什么_百度知道
C++中,指数形式浮点型常量.12345e6表示什么
我有更好的答案
d:double d=.000000%g 简略格式,d); %e 格式.500e+005%lf 定点格式; printf(&%e == %lf == %g&。.12345e6
(0.12345) 乘
次方)标准格式输出:1: 123450e 格式是浮点数 科学记数法,d
采纳率:89%
就是0.12345 x 10^6等于123450
为您推荐:
其他类似问题
浮点型的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 实数指数幂教案 的文章

 

随机推荐