int,float,double,long int等等分别在内存中占几个字节!有效位数又是多少!强制
int,float,double,longint等等分别在内存中占几个字节!有效位数又是多少!强制类型转换时候的!计算机c语言!...
int,float,double,long int等等分别在内存中占几个字节!有效位数又是多少!强制类型转换时候的!
计算机c语言! 展开
计算机c语言! 展开
展开全部
不同的计算机是不完全一样的,
int 2或4字节
float 4字节
double 8字节
long int 4字节
有效位数为字节数乘8-1(减去这个符号位)
可以用如下代码查看
#include<stdio.h>
int main()
{
printf("char=%d\n", sizeof(char));
printf("short=%d\n", sizeof(short int));
printf("int=%d\n", sizeof(int));
printf("long=%d\n", sizeof(long int));
printf("long long=%d\n", sizeof(long long int));
printf("float=%d\n", sizeof(float));
printf("double=%d\n", sizeof(double));
printf("long double=%d\n", sizeof(long double));
return 0;
}
int 2或4字节
float 4字节
double 8字节
long int 4字节
有效位数为字节数乘8-1(减去这个符号位)
可以用如下代码查看
#include<stdio.h>
int main()
{
printf("char=%d\n", sizeof(char));
printf("short=%d\n", sizeof(short int));
printf("int=%d\n", sizeof(int));
printf("long=%d\n", sizeof(long int));
printf("long long=%d\n", sizeof(long long int));
printf("float=%d\n", sizeof(float));
printf("double=%d\n", sizeof(double));
printf("long double=%d\n", sizeof(long double));
return 0;
}
追问
那强制类型转换的时候 比如(double)7=7.00000000000000 15位有效数 (float)7=7.000000 7位 是不是这样的
追答
是的,不过一般不要把大字节类型,转换成小的,这样可能照成数据出错
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询