c语言中int 和float 形数据的限制是多少?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中int 和float 形数据的限制是多少?相关的知识,希望对你有一定的参考价值。

我在C 语言中编程时出现大数据时 (就5 为数以上)运行的结果是0或者是其他错误答案,这是为什么啊?printf语句中的 %.2f , %7.2f ,%0f ,%1f,%2f等这些形式的数据有什么区别?

c语言标准库提供了limits.h和float.h用于说明整数和浮点型数据的限制。

limits.h:用于检测整型数据数据类型的表达值范围。 

float.h :提供了浮点型的范围和精度的宏,该头文件没有类型和函数的定义,一般用于数值分析。

可以直接使用里面定义的宏,比如下面的代码输入有符号int类型的最大值和最小值,以及float类型的最大值和最小值。

#include<stdio.h>
#include <limits.h>
#include <float.h>
int main()

    printf("int最大值:%d\\t最小值:%d\\n", INT_MAX, INT_MIN);
printf("float最大值:%e\\t最小值%e\\n",FLT_MAX,FLT_MIN);
    return 0;

参考技术A 你说的是溢出,当数据超出数据类型的最大上限就会出现这种数据出错的现象。
int的取值范围是 -32768~32767 即 -2的15次方 ~2的15次方-1
float的取值范围是 -3.4*10的负38次方 ~ 3.4*10的38次方
你看到的%f 是用于显示浮点型变量的,前面的数字是根据如下公式表示的
%m.nf m是指数据总共占的长度,n是指小数点的位数
参考技术B 整型数说明
加上不同的修饰符, 整型数有以下几种类型;
signed short int 有符号短整型数说明。简写为short或int, 字长为2
字节共16位二进制数, 数的范围是-32768~32767。
signed long int 有符号长整型数说明。简写为long, 字长为4字节共
32位二进制数, 数的范围是-2147483648~2147483647。
unsigned short int 无符号短整型数说明。简写为unsigned int, 字长
为2字节共16位二进制数, 数的范围是0~65535。
unsigned long int 无符号长整型数说明。简写为unsigned long, 字长
为4字节共32位二进制数, 数的范围是0~4294967295。

浮点型(float)
一、浮点数说明
Turbo C中有以下两种类型的浮点数:
float 单浮点数。字长为4 个字节共32 位二进制数, 数的范围是
3.4x10-38E~3.4x10+38E。
double 双浮点数。字长为 8个字节共 64 位二进制数, 数的范围是
1.7x10-308E~1.7x10+308E。
说明:
浮点数均为有符号浮点数, 没有无符号浮点数。

printf 语句中的是控制输出形式,如:%.2f 输出时小数点后面占两位本回答被提问者采纳

以上是关于c语言中int 和float 形数据的限制是多少?的主要内容,如果未能解决你的问题,请参考以下文章

c语言中int,float,double,char四种数据类型所能表示的数据范围是多少?

c语言中,(float)20╱3的值是多少 保留一位小数

在C语言中float 与int 有啥不同

C语言中int和float有啥区别啊

输出double形数据,用%啥

为啥C语言中float型变量的数据范围比int大