A. c语言中整型,字符型,浮点型,和双精度浮点型,详解
整型,计算机中的一个基本的专业术语,指没有小数部分的数据。整型可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(- 或者 +)。包括整型常量和整型变量,整型变量又包括短整型、基本整型、长整型,它们都分为有符号和无符号两种版本,是一种智能的计算方式。
字符型量包括字符常量和字符变量。字符串常量由一对双引号括起的字符序列。字符变量的取值是字符常量,即单个字符。字符变量的类型说明符是char。字符变量类型说明的格式和书写规则都与整型变量相同。
浮点型利用指数使小数点的位置可以根据需要而上下浮动,从而可以灵活地表达更大范围的实数。
双精度浮点型,此数据类型与单精度数据类型(float)相似,但精确度比float高,编译时所占的内存空间依不同的编译器而有所不同,是double float数据类型,C/C++中表示实型变量的一种变量类型。
(1)c语言浮点型所占字节扩展阅读
双精度浮点型类型数值可转换到其他类型的整数或浮点数,反之亦然。双精度浮点型常量的最后一个字符可加上“d”或“D”。其存储格式与浮点型类似,最高位为符号位,次高11位为指数位,其次52位为尾数。
双精度型就是双精度浮点型,同数值型比,它能提供更高的数值精度,采用固定存储长度的浮点数形式,每个双精度浮点型数据占8个字节。与数值型数据不同,它的小数点位置是由输入的数据值来决定的,并且只能用于表中的字段。
B. C语言浮点型小数点后为多少位
单精度浮点型小数点后面有效数字为7位和双精度浮点型小数点后面有效数字为16位。
单精度在一些处理器上比双精度更快而且只占用双精度一半的空间,但是当值很大或很小的时候,它将变得不精确。当需要小数部分并且对精度的要求不高时,单精度浮点型的变量是有用的。
例如,当表示美元和分时,单精度浮点型是有用的。在foxpro中,单精度浮点型是为了提供兼容性,浮点数据类型在功能上等价于数值型。
(2)c语言浮点型所占字节扩展阅读:
浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法。
浮点数参与的运算,这种运算通常伴随着因为无法精确表示而进行的近似或舍入。补码系统的0就只有一个表示方式,这点和反码系统不同(在反码系统中,0有二种表示方式),因此在判断数字是否为0时,只要比较一次即可。
C. c语言中double型数据在内存中 占多少个字节来存储
c语言中double(双精度浮点型)是计算机使用的一种数据类型。double(双精度浮点型)使用 64 位(8字节) 来储存一个浮点数。 它可以表示十进制的15或16位有效数字,其数值范围为-1.79769313486232E308 到1.79769313486232E308。
(3)c语言浮点型所占字节扩展阅读:
double(双精度浮点型)数值可转换到其他类型的整数或浮点数,反之亦然。double(双精度浮点型)常量的最后一个字符可加上“d”或“D”。其存储格式与浮点型类似,最高位为符号位,次高11位为指数位,其次52位为尾数。
double(双精度浮点型)同数值型比,它能提供更高的数值精度,采用固定存储长度的浮点数形式,与数值型数据不同,它的小数点位置是由输入的数据值来决定的,并且只能用于表中的字段。
D. C语言中float,char,int函数各占几个字节,如何证明,%12d,%12f是什么意思
float,char,int型数据分别占4,1,4个字节,不是函数,是数据
用sizeof运算可以证明
printf("%d,%d,%d\n",sizeof(float),sizeof(char),sizeof(int));
%nd,这里的n表示输出数据占几位,默认是靠右对齐,不足的用空格补齐,超出的正常显示。%nf一样的意思。
E. c语言类型所占字节数
类型
常见的有char、int、long、short、float、double及指针等.
字符类型
这里单只char,char变量在内存中存储的是字符对应的ASCII码值。所以长度也是固定的,为1个字节。
整数类型
查了资料发现对各个类型的整数占用字节数是有一个规定的,虽然16位32位或者64位的机子各种类型所占用的长度并不一样。规则如下:
short 至少占用2个字节。
int 建议为一个机器字长。32位环境下机器字长为4字节,64位环境下机器字长为8字节。
short 的长度不能大于 int,long 的长度不能小于 int。
所以说,short并不一定短,long并不一定短,有可能都和int一样长。
浮点数(小数)
C中浮点数有两种,float和double,不像整数,小数的长度始终是固定的,float占用4个字节,double占用8个字节。
指针
C中指针即为地址,所以编辑器的寻址空间则是指针的地址范围。所以指针变量在32位机器的寻址空间为2^32,要将所有地址都表示出来则需要为4个字节长度,所以要占用4个字节长度。同理64位的编译器则需要8个字节长度。
F. 在C语言中,int类型,long类型,float类型,double类型和char类型在16位和32位计算机中各占几个字节
int 在内存中占4个字节,long在内存中占4个字节,float:占4个字节,double: 占8个字节,char:占1个字节,操作方法如下:
1、C#支持8中预定的整数类型。分别是sbyte、short、int、long、byte、ushort、uint、ulong。byte0-255标准的8位整数类型。默认是无符号的,有符号的为sbyte。
G. float占几个字节
4 个字节。
FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 二进制指数和一个 23 位尾数。
由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。此表示形式为 float 类型提供了一个大约在 -3.4E+38 ~ 3.4E+38 之间的范围。
float数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用IEEE(电气和电子工程师协会)格式。浮点类型的单精度值包括数符,尾数,指数符,指数四部分。由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。
float数据在机内用指数型式表示,数符占1位二进制,表示数的正负。指数符占1位二进制,表示指数的正负。尾数表示浮点数有效数字,0.xxxxxxx, 但不存开头的 0 和点。指数占多少位,尾数占多少位,由计算机系统决定。
H. 在C语言中float数据数值范围是多少
C语言中,float 为单精度浮点数,占4字节,其数值范围为3.4E-38 ~3.4E+38或者-(3.4E-38 ~3.4E+38)
float的指数位有8位,尾数位有23位,符号位1位。
于是,float的指数范围为-127~+128,按补码的形式来划分。
其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。
所以,float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38
I. C语言 float
float是C语言的基本数据类型中的一种,表示单精度浮点数。
C语言规定单精度浮点型在内存占用4个字节,精度为7位,取值范围为:3.4*10^-38 ~3.4*10^38或者-(3.4*10^-38 ~3.4*10^38)
可以定义单精度浮点型变量,如float a;即定义了一个电精度浮点型变量a。相关类型:double表示双精度浮点数。
(9)c语言浮点型所占字节扩展阅读:
构成:
浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分。
数符占 1 位二进制,表示数的正负。
指数符占 1 位二进制,表示指数的正负。
尾数表示浮点数有效数字,0.xxxxxxx, 但不存开头的 0 和点。
指数存指数的有效数字。
指数占多少位,尾数占多少位,由计算机系统决定。
区别:
可根据应用程序的需求将变量声明为 float 或 double。这两种类型之间的主要差异在于它们可表示的基数、它们需要的存储以及它们的范围。
在 C 和 C++ 中,如下赋值语句:
1 floata=0.1;
编译器报错:warning C4305: 'initializing' : truncation from 'const double ' to 'float '
原因:在 C/C++ 中,上述语句等号右边 0.1,认为是个 float,但是编译器却把它认为是个 double(因为小数默认是 double),所以要报这个 warning,一般改成0.1f就没事了。
网络-float
J. C语言中float型数据表示的最大数字到底是多少啊
C语言中float型数据表示的最大数字为3.402823E38。
FLOAT数据类型用于存储单精度浮点数。具有4个字节,包括一个符号位、一个8位二进制指数和一个23位尾数。由于尾数的高顺序位始终为1,因此它不是以数字形式存储的。此表示形式为float类型,提供了一个在-3.402823E38到3.402823E38之间的范围。
(10)c语言浮点型所占字节扩展阅读:
FLOAT数据类型变量可以提升为更大基数的类型(从 float 类型到 double 类型)。当对浮点变量执行算术时,通常会出现提升。此算术始终以与具有最高精度的变量一样高的精度执行。
如果存储比精度更重要,优先考虑对浮点变量使用 float 类型。相反,如果精度是最重要的条件,则优先使用 double 类型。