网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数: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 *)&copy_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
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 14回复贴,共1页
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示