问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言中一个数的小数如何表示28

发布网友 发布时间:2023-11-25 10:28

我来回答

5个回答

热心网友 时间:2024-07-15 05:34

两种表示方式:

1、定点表示:必须有小数点。

例如:0.123, .123, 123.0。

2、指数表示:e或E之前必须有数字,指数必须为整数。

例如:12.3e3 ,123E2, 1.23e4。

注意:浮点数常量默认为double类型,如果浮点数常量表示float类型,在末尾添加小写的f或者大写的F,表示此常量为单精度浮点常量。

定点小数是纯小数,约定的小数点位置在符号位之后、有效数值部分最高位之前。若数据x的形式为x=x0.x1x2…xn(其中x0为符号位,x1~xn是数值的有效部分,也称为尾数,x1为最高有效位),则在计算机中的表示形式为:

一般说来,如果最末位xn= 1,前面各位都为0,则数的绝对值最小,即|x|min= 2^(-n)。如果各位均为1,则数的绝对值最大,即|x|max=1-2^(-n)。所以定点小数的表示范围是:2^(-n)≤|x|≤1 -2^(-n)。

扩展资料

由于“编码总位数为8”的*,真值-128无法用原码、反码来表示,似乎不能用上述规则来求解补码,但实际上是可行的——只要不管它的最高位即可,操作办法如下:

将128化为二进制为:1 0000000,最高位为1,可以只对舍去最高位后剩余的7位进行处理即可,首先取反得:1111111,加1得:1 0000000,最高位有进位需丢弃,即得:0000000,加上符号位就得补码:1 0000000。

又如,当编码总位数为4时,真值X=+0.101的原码、反码、补码均为:0 101。

真值X=-0.101的原码、反码、补码依次为:1 101、1 010、1 011。

同理,特例,-1的补码为:1 000。

在定点小数中,小数点隐含在第一位编码和第二位编码之间

定点小数,是指小数点准确固定在数据某个位置上的小数,从实用角度看,都把小数点固定在最高数据位的左边,小数点前边再设一位符号位。按此规则,任何一个小数都可以被写成 :N = NS . N-1 N-2 … N-M。

参考资料来源:百度百科-定点小数的表示方法

热心网友 时间:2024-07-15 05:34

两种表示方式:

1、定点表示:必须有小数点。

例如:0.123, .123, 123.0。

2、指数表示:e或E之前必须有数字,指数必须为整数。

例如:12.3e3 ,123E2, 1.23e4。

注意:浮点数常量默认为double类型,如果浮点数常量表示float类型,在末尾添加小写的f或者大写的F,表示此常量为单精度浮点常量。

扩展资料:

关于上述提到的定点表示和数的浮点表示

1、浮点型 float-point

float/double,都属于浮点型表示。

2、定点型 fixed-point

例如,以一个字节表示小数,小数点定在5.3位置,高5位表示整数,低3位表示小数。

11001001

加上小数点之就是11001.001即整数部分为11001,小数部分为001

转换一下

整数部分 11001 = 25

小数部分 001 = 1 (分子),分母是1000(8),所以就是1/8

最终此小数表示的是 25 + 1/8

也就是说,存0/8, 1/8, 2/8, ..., 7/8 共八个档,表示精度为1/8

可见,定点型小数的值取决于你把小数点定在哪里。

3、数的定点表示:

小数点按照约定的形式给出。在计算机里面没有专门的硬件用来表示小数点, 所谓的小数点都是计算机体系设计人员按照约点的形式给出的。

按照约定的方式, 可以将计算机分为两种:一种是小数点在数符后面数值前面, 一种是数值后面。

4、浮点表示

最早的计算机只有两种表示方式:小数定点机和整数定点机。如果计算很大的数值时需要程序员手动调节小数点的位置编程困难。

数的表示范围很小, 为了表示相差很大的数据, 往往需要很大的机器字长。

数据利用率不高, 用很大的机器字长时, 有很多位都是 0 。

5、高精度小数

#include <stdio.h>

void main()

{

int a,b,cnt=0;

scanf("%d/%d",&a,&b);

printf("0."); 

while(cnt<201){

if(a==0){

break;

}

a=a%b*10;

printf("%d",a/b);

cnt++;

}

参考资料来源:

定点小数-百度百科

浮点数-百度百科

热心网友 时间:2024-07-15 05:34

4.2用C语言表示:double d = 4.2。C语言中用于描述小数的数据类型是float和double,float类型表示单精度浮点数,double表示双精度浮点数。

1、float:

FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 excess-127 二进制指数和一个 23 位尾数。

2、double:

double(双精度浮点数)使用 64 位(8字节) 来储存一个浮点数。 它可以表示十进制的15或16位有效数字。

扩展资料

(1) 浮点型与整型

将浮点数(单双精度)转换为整数时,将舍弃浮点数的小数部分, 只保留整数部分。将整型值赋给浮点型变量,数值不变,只将形式改为浮点形式, 即小数点后带若干个0。注意:赋值时的类型转换实际上是强制的。

(2) 单、双精度浮点型

由于C语言中的浮点值总是用双精度表示的,所以float 型数据只是在尾部加0延长为double型数据参加运算,然后直接赋值。double型数据转换为float型时,通过截尾数来实现,截断前要进行四舍五入操作。

参考资料:百度百科-C语言类型强制转换

热心网友 时间:2024-07-15 05:35

好像有什么函数吧。
不过一般的思路都是。
double d=4.2;
double m;
m=d-int(d);
printf("m=%0.1f",m ) //要几位就零点几位。

热心网友 时间:2024-07-15 05:36

我想你的意思是这样的,a变量为浮点型数据(4.2),想得知其小数部分。

不知道是不是呢?

如果是的话,那么:

float b = a-(int)(a);
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
弹钢琴时手指速度总是不自觉变快怎么办? 弹钢琴时速度总是不自觉变快怎么办? 微信发表情包上限是多少 ...8.0.3版本更新什么?微信表情包上限变成999是什么 成人毛线斗篷式开襟披肩编织 江苏洛社商贸城项目有哪些主要特点和设施? 永明镇的乡镇建设 蓝光花满庭小区基本信息 洛社商贸城项目概括 怀孕了能不能吃汤圆 15款别克君威想换个导航什么品牌的好呢?1 复式,室内楼梯上楼正对着入户门,风水上是节节高升的意思吗?30 混凝土搅拌站原使用砂的细度模数为2.5后改用为2.1的砂,原...6 广东省造双龙寿字币库平七钱二分真假5 我的好友怎么转移到别的上 微信还信用卡手续费多少 在C语言中,长浮点数与浮点数有什么区别?要精确到多少位?如题... 一年改2次的办法 饰品伴侣注册过商标吗?还有哪些分类可以注册? 风尚人文注册过商标吗?还有哪些分类可以注册? 我注销了,然后再重新申请一个,我可以重新设置微信账号回... 谁有01【22文都法考主观题】,有这个的百度网盘吗? 两个怎么登录同一部手机 如果克鲁伊夫在1974年获得世界杯冠军,再加上生涯荣誉成就和历史影响力... win7 64位 一直都用公司无线网 很好的 但是现在只能上QQ 打不开网页... 求歌名,,当你我不小心又想起她,就在记忆里画一个X7 神州12号对接是什么意思 ...还了可信贷员在我不知情又给转了一笔怎么办? 怎么填写银行余额调节表? 被盗,登的时候显示出这个手机号没有注册边怎么办? 连接WIFI后过一会就不能上网了怎么办33 电脑开机突然这样,是什么原因?请教大神! 华硕主板,显示完logo后就到... 精兵勇将的解释 我的笔记本重装win7系统后不能有限上网了怎么办,无线上网可以用 如何一年内强制二次修改? 电影木乃伊3大结局 血战武林1.30怎么样加入门派 怎么把微信好友转移到另一个? 微信朋友圈有传鸭梨水能治所有癌症? 一个朋友总在微信朋友圈传播血腥的视频杀动物喝血什么的 我本人...2 问道力水带的斗子封印什么宠物最好 穷人是 家里网络wifi都是连接着的,但是却一会能上网一会不行 混凝土坍落度与细度模数的关系5 砂的细度模数是如何影响混凝土质量的?求大神详细解答~万分感谢...2 怎么在手机上进行电脑端绑定? 我用手机号注册的网易帐号,然后登录网易官网需要邮箱登录,怎么回事?_百... ...的学生如果只有语文好,数学英语专业课都不好,那还能上大专吗... 双方都删了微信我现在只有红包记录怎样能查到对方 我用的64位win7系统。之前用路由器都能连接网络的,现在接别人的路由就... 国旺花园到根竹乡江口村石鼓岭打车要多少钱?