鱼C论坛

 找回密码
 立即注册
查看: 8100|回复: 20

怎么自己表示一个浮点型的数

[复制链接]
发表于 2012-9-23 11:57:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
例如 i,j,k都是整数,怎样表示一个浮点型的数,让它的值等于  i   加上    j乘以10的(-k)次方
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-23 12:50:18 | 显示全部楼层
你的意思是不是 把一个整形的数 以浮点形式输出?
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-9-24 11:33:27 | 显示全部楼层

不是,换个问题:怎么表示10的k次方???
话说,有人回复为什么没有提示呢……
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-24 12:14:35 | 显示全部楼层
旅行 发表于 2012-9-24 11:33
不是,换个问题:怎么表示10的k次方???
话说,有人回复为什么没有提示呢……
  1.   int i;
  2.   int sum = 0;
  3.   for( i = 1 ; i <= k ; k ++ )
  4. {
  5.      sum *= 10;
  6. }
  7. //sum为的值为10的K次方
  8.      
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-9-24 12:26:36 | 显示全部楼层

如果K是负数呢?
int sum=1;//初始化错了……
其实我更想知道的是怎么用简单的符号表示,就像3e2这样,如果没有,几行程序也行
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-24 12:34:40 | 显示全部楼层
旅行 发表于 2012-9-24 12:26
如果K是负数呢?
int sum=1;//初始化错了……
其实我更想知道的是怎么用简单的符号表示,就像3e2这样, ...

失误了,还请多多包涵,如果只要一个结果的话,可是考虑用pow函数!
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-24 12:34:45 | 显示全部楼层
旅行 发表于 2012-9-24 12:26
如果K是负数呢?
int sum=1;//初始化错了……
其实我更想知道的是怎么用简单的符号表示,就像3e2这样, ...
  1. #include <stdio.h>
  2. int main(){
  3.         float f = 1e-5;
  4.         printf("%f\n",f);
  5. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-24 12:37:20 | 显示全部楼层
旅行 发表于 2012-9-24 12:26
如果K是负数呢?
int sum=1;//初始化错了……
其实我更想知道的是怎么用简单的符号表示,就像3e2这样, ...
  1. #include <stdio.h>
  2. #include <math.h>
  3. int main(){
  4.         int i = 2, j = 3, k = -1;
  5.         float f = (i+j)*pow(10,k);
  6.         printf("%f\n",f);
  7. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-9-24 16:14:47 | 显示全部楼层
akon 发表于 2012-9-24 12:34
失误了,还请多多包涵,如果只要一个结果的话,可是考虑用pow函数!

好吧,看来只好用pow了,谢了哈
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-9-24 16:15:32 | 显示全部楼层

{:7_168:}谢啦
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-9-24 16:18:36 | 显示全部楼层

我写 je(-k)    j和k 都是变量,显示错误
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-24 16:30:52 | 显示全部楼层
如1写成1.0,将1.0带进去运算
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-24 17:07:24 | 显示全部楼层
话说C语言里都是用m+2^(-n)模拟实现浮点数的。
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-9-24 22:25:41 | 显示全部楼层
贝壳 发表于 2012-9-24 17:07
话说C语言里都是用m+2^(-n)模拟实现浮点数的。

实验得:2+1*(10^(-1))=-9
            2+2*(10^(-1))=-20
什么情况
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-9-24 22:29:13 | 显示全部楼层
空瓶氧气 发表于 2012-9-24 16:30
如1写成1.0,将1.0带进去运算

for(i=1;i<4;i++);
这个i怎么换成带小数点的
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-24 23:57:01 | 显示全部楼层
旅行 发表于 2012-9-24 22:25
实验得:2+1*(10^(-1))=-9
            2+2*(10^(-1))=-20
什么情况

你是怎么实验的?
C语言里'^'是异或操作符, 不表示幂。
一般咱们这么写
2+2*(10^(-1))=-20
是数学上的表示方法,不是C语言的语法。而且浮点数要定义为float。
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-9-25 08:14:19 | 显示全部楼层
贝壳 发表于 2012-9-24 23:57
你是怎么实验的?
C语言里'^'是异或操作符, 不表示幂。
一般咱们这么写

float f;
int i,j,k;
i=j=2;k=1;
f=i+j*(10^(-k));
结果f等于-20.000000    //0的个数忘了
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-25 15:38:41 | 显示全部楼层
旅行 发表于 2012-9-25 08:14
float f;
int i,j,k;
i=j=2;k=1;

你知道异或和幂在C语言里分别怎么算吗?
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-9-25 17:53:46 | 显示全部楼层
贝壳 发表于 2012-9-25 15:38
你知道异或和幂在C语言里分别怎么算吗?

不知道你在说什么{:7_180:}
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-25 22:55:28 | 显示全部楼层
旅行 发表于 2012-9-25 17:53
不知道你在说什么

你知道什么是“异或”吗?
我在16楼已经给你说过了,你认真看了吗?
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-15 05:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表