c语言 %d %f %lf %d可表示的最大和最小范围是多少?超过了范围 计算机怎么显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言 %d %f %lf %d可表示的最大和最小范围是多少?超过了范围 计算机怎么显示相关的知识,希望对你有一定的参考价值。

c语言 %d %f %lf %d可表示的最大和最小范围是多少?超过了范围 计算机怎么显示? %f小数点后最高能表示几位? 如果小数超过了他的最高位数会怎样 ? %lf小数点后最高有几位?超过了怎么显示 ? 老师讲double 是直接用%f的 这样有什么问题吗 在什么时候会出问题。。。。。有点多吼 给100吧

这表示格式,至于具体数值大小,要看你申请的变量类型。

比如

u16 a;

printf("%d",a);那么输出最大就是16BIT的值=65535;

假如

u8 a;那么输出就是最大255;

如果超了,比如  u8 a = 256;那么相当于 256%255 ;a的值是1;

%lf是对应的是double,有效位好像是16位,比如有一个数整数占了10位,那么小数只能保存6位。

f   lf 最好不要混用,记数方法不一样。如果数值小还好,大了就乱套了。

参考技术A /*简单说来,%d,%f, %u 就是有一定处理能力的机器,而象 int , float, char, 就是一些原料。

1 塑料 -> 脸盆机 -> 脸盆 int -> %d
2 混泥土 -> 砖块机 -> 砖块 float -> %f

如果你 塑料 -> 砖块机 -> 塑料砖, 显然这不合理,大致就是这个意思,

对%u 而言它只处理无符号整形,首先大小是 sizeof( unsigned int ),
如果你给的是 sizeof(float);它会把超出的部分舍去,你给的有符号整形,它会当做无符号处理。

代码:  */

#include <stdio.h>

int main(int argc, char const* argv[])

    int a = -1;//它排列 11111111111111111111111111111
    float b = 1;//.....
    unsigned int c = 1;//00000000000000000000000000000000
    printf("int -1 = %u\\nfloat 1 = %u\\nunsigned 1 = %u\\n", a, b, c);
    return 0;


//总之我也不是很总,等大牛补充吧。。我也想知道。。。

参考技术B %d是按照十进制整数形式输出,%nd中的n表示有效数字的位数;
%c是按照字符型输出;%f是按照浮点数输出;%lf是按照长浮点数输出;
%o是按照八进制输出;%x是按照16进制输出;%e是按照科学计数法输出结果。
以上都是输出格式控制符,谢谢!
参考技术C %d  %f  %lf  %d可表示的最大和最小范围是多少?
--书上有个表,一看便知。

超过了范围,计算机怎么显示?  
--怎么能超出呢?

--溢出了?
--减去超出的,保存剩下的。

%f小数点后最高能表示几位?
%lf小数点后最高有几位?
--书上有个表,一看便知。

如果小数超过了他的最高位数会怎样?
超过了怎么显示?
--位数是限定的,不会超过的。

参考技术D %d %f %lf %d可表示的最大和最小范围是多少?
--书上有个表,一看便知。

超过了范围,计算机怎么显示?
--怎么能超出呢?

--溢出了?
--减去超出的,保存剩下的。

%f小数点后最高能表示几位?
%lf小数点后最高有几位?
--书上有个表,一看便知。

如果小数超过了他的最高位数会怎样?
超过了怎么显示?
--位数是限定的,不会超过的。追问

书上没有 %f和%lf的位数问题

追答

f,

按照 float,从 (10 的-37 次方),到...。

即,可以有 37 位小数。

追问

这个我知道 但是%f在计算机应该不是37位小数吧

追答

以 10 进制来说明,就是 37 位小数。

再深究,就是 4 个字节的二进制数,称为浮点数。

浮点数的格式,包括:指数、尾数、原码、补码... ...

C语言中printf输出float和double都用%f么(scanf又如何)

答:

1.C语言中printf输出float和double都可以用%f,而double型数据还可以用%lf。

2.scanf当中若是对双精度的变量赋值是必须是%后跟lf,而printf当中可以用%f也可以用%lf没有限制。

拓展资料:

c语言中的格式控制符:

%d十进制有符号整数

%u十进制无符号整数

%f浮点数

%s字符串

%c单个字符

%p指针的值

%e指数形式的浮点数

%x,%X无符号以十六进制表示的整数

%0无符号以八进制表示的整数

%g自动选择合适的表示法

参考资料:c语言-百度百科

参考技术A 1 printf输出float和double都可以用%f,double还可以用%lf。
2 scanf输入float用%f,double输入用%lf,不能混用。本回答被提问者采纳
参考技术B 1、printf输出float和double都可以用%f,同时double还可以用%lf。
2、scanf输出float用%f,而double输出用%lf,不能混用。
拓展资料:
C语言编程软件是一款使用代码C语言进行编程的软件,C语言简洁、高效、灵活的特性令其具有独特魅力。现在的程序编写朝着越来越冗长庞大的方向发展,而C语言虽然属于相对'低级'的编程语言,但它的简洁之美是无可替代的。
参考技术C 1 printf输出float和double都可以用%f,double还可以用%lf。
2 scanf输入float用%f,double输入用%lf,不能混用。
参考技术D double用%lf.scanf和printf一样

以上是关于c语言 %d %f %lf %d可表示的最大和最小范围是多少?超过了范围 计算机怎么显示的主要内容,如果未能解决你的问题,请参考以下文章

C语言中printf输出float和double都用%f么(scanf又如何)

c语言如何求最大公约数和最小公倍数

C语言求输入三个数输出最大与最小值

c语言,用分解质因数的方法求两个数的最大公约数

c语言的。。。 输入三个数 输出最大值

c语言从键输入5个数求最大值和最小值 只用if(刚学,要最简单的)