网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月20日
漏签
0
天
c语言吧
关注:
798,840
贴子:
4,357,554
看贴
图片
吧主推荐
视频
游戏
14
回复贴,共
1
页
<<返回c语言吧
>0< 加载中...
如何得出一个浮点数的小数部分,要把各个位保存到一个数组里边。
只看楼主
收藏
回复
南方不胜
团子家族
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
如何得出一个浮点数的小数部分,要把各个位保存到一个数组里边。
何某某T_T
强能力者
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
一个个存
2025-07-20 02:50:01
广告
BUG
葱の帝球
15
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
转字符串
小橘子先生
低能力者
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
/*************************************************************************
> File Name: float_decimal.c
> Author:wangfeilong
> Mail:
> NOTE:32位机。
> Created Time: 2019年07月08日 星期一 04时10分37秒
************************************************************************/
#include<stdio.h>
#include<memory.h>
extern void printf_bit(int *array,int count);
extern void array_bit(int array_len,float need_data);
int main(int argn,char *argv[])
{
float data_float =0;
int scanf_judeg =0;
while(1)
{
scanf_judeg =scanf("%f",&data_float);
printf("io:%d,%d\n",scanf_judeg,sizeof(float));
if( -1 == scanf_judeg )
{
printf("quit\n");
return 0;
}
if( !scanf_judeg )
{
printf("please input float_data\n");
while( getchar() != '\n');
continue;
}
if( data_float >-1e-6 && data_float <1e-6)
{
printf("无小数位\n");
continue;
}
if( 4 == sizeof(float) )
{
array_bit(32-1-8+1,data_float);
}
}
return 0;
}
void array_bit(int array_len,float need_data)
{
int move =0x80000000;
int count =0;
int integer_number =0;
int copy_data = *((int *)&need_data);
int array[array_len];
memset(array,0,sizeof(array));
copy_data =copy_data <<1;
integer_number = (unsigned char)*(((char *)©_data)+3)-127;
printf("p:%d\n",integer_number);
if( integer_number >= 0 )
{
copy_data =copy_data << (8+integer_number);
}
else if( integer_number < 0)
{
integer_number =0-integer_number;
copy_data =copy_data << (8+integer_number);
for( count; count <integer_number; count++)
{
array[count] =0;
if( count == integer_number-1 )
{
array[count] =1;
count++;
break;
}
}
}
move = move >> (32-8-integer_number-1);
copy_data = copy_data & move;
printf("move=%d,copy_data=%d\n",move,copy_data);
do
{
for( count; count < array_len; )
{
if( copy_data >0 )
{
printf("r\n");
array[count++] =0;
}
if( copy_data <0 )
{
printf("tt\n");
array[count++] =1;
}
copy_data =copy_data <<1;
break;
}
}while(copy_data);
printf_bit( array,count);
return ;
}
void printf_bit(int *array,int count)
{
int head =0;
printf("小数位:0b");
for( ; head< count; head++)
{
printf("%d",array[head]);
}
putchar('\n');
return ;
}
hitzsf
帕秋莉糕
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
char mantissa[20] = {0};
char *str = mantissa;
double a = 2.0001;
double b = modf(a,NULL);
printf("%g\n",b);
sprintf(mantissa,"%g",b);
printf("%s\n",str+2);
return 0;
}
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示