首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

浮点数的科学计数法有关问题

2013-04-26 
浮点数的科学计数法问题求码神帮忙看看这题:输入一个浮点数如:0.000000123,可知道其科学计数法是1.23e-7那

浮点数的科学计数法问题
求码神帮忙看看这题:

输入一个浮点数如:0.000000123,可知道其科学计数法是1.23e-7

那怎么去分解到科学计数法里面的 整数部分、小数部分和指数部分。

pu32BER[0]:误码率底数的整数部分
pu32BER[1]:误码率底数的小数部分乘以1000
pu32BER[2]:误码率指数部分取绝对值
例如:误码率为2.156E-7,那么三个元素的取值分别为 2、156和7
浮点数 科学计数法
[解决办法]

#include <stdio.h>
int main() {
    double a=0.000000123;
char str[40];
int pu32BER[3];
//pu32BER[0]:误码率底数的整数部分
//pu32BER[1]:误码率底数的小数部分乘以1000
//pu32BER[2]:误码率指数部分取绝对值

sprintf(str,"%le",a);
printf("%s\n",str);//1.230000e-007
sscanf(str,"%d.%3d%*3de%*c%d",&pu32BER[0],&pu32BER[1],&pu32BER[2]);
printf("pu32BER[0]=%d\n",pu32BER[0]);//32BER[0]=1
printf("pu32BER[1]=%d\n",pu32BER[1]);//pu32BER[1]=230
printf("pu32BER[2]=%d\n",pu32BER[2]);//pu32BER[2]=7
    return 0;
}

热点排行