16位编译器

char :1个字节
char*(即指针变量): 2个字节
short int : 2个字节
int: 2个字节
unsigned int : 2个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节

32位编译器(看这里就行了,与16位机,64位机比较,粗体type为不同的,其余的都是相同)

char :1个字节
char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)(16位机,32位机,64位机各不相同)

short int : 2个字节
int: 4个字节(16位机是2B,32位&64位是4B)
unsigned int : 4个字节(16位机是2B,32位&64位是4B)

float: 4个字节
double: 8个字节

long: 4个字节(16位&32位是4B,64位是8B)
long long: 8个字节
unsigned long: 4个字节(16&32位是4B,64位是8B)

64位编译器

char :1个字节
char*(即指针变量): 8个字节
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 8个字节
long long: 8个字节
unsigned long: 8个字节

%c输出的是一个单字节字符

%f输出的是单精度实数

%d输出的是十进制整形数

%e输出的是科学记数法的实行数

%s输出是字符串

%g输出双精度实型数

%ld输出的是long类型的数

%lld输出的是long long 类型的数

%u输出的是无符号整形数

printf("%.10lf\n",f_a)输出小数点后10位,否则默认是小数点后6位

double 类型的输出为printlf("%lf",a);

例如: double d=123456789.12345;
printf("%.2lf",d);

输出为123456789.12,如果对小数点不控制,输出则为123456789.123450

结论:格式控制字符串的一般形式: %[修饰符]转换说明符,其中修饰符为任选项

c语言中int long float double 等类型所占字节及输出表示(转)的更多相关文章

  1. 在java语言中int 和 Integer 有什么区别

    在java语言中int 和 Integer 有什么区别 解答:int是基本数据类型,Integer是int的包装类,属于引用类型

  2. (七)C语言中的void 和void 指针类型

    许多初学者对C中的void 和void 的指针类型不是很了解.因此常常在使用上出现一些错误,本文将告诉大家关于void 和void 指针类型的使用方法及技巧. 1.首先,我们来说说void 的含义: ...

  3. QT中QString 与 int float double 等类型的相互转换

    Qt中 int ,float ,double转换为QString 有两种方法 1.使用 QString::number(); 如: long a = 63; QString s = QString:: ...

  4. Java中基本数据类型byte,short,char,int,long,float,double 取值范围

    部分内容转自:java 彻底理解 byte char short int float long double 首先说byte: 这段是摘自jdk中 Byte.java中的源代码: /** * A co ...

  5. c语言中 int *p = NULL 和 *p = NULL 有什么区别

    1. int *p = NULL; 代表定义一个指向整型变量的指针p,然后p的值设为NULL,也就是设为0:用另一种方式说,就是对一个刚定义的指向整型变量的指针,赋初始值,让其指向0地址. 2. *p ...

  6. c/c++ int long float double 表示范围

    引自https://blog.csdn.net/xuexiacm/article/details/8122267

  7. C语言中,关于排序的问题(输入n个数,输出最大的那个)

    int n,max=0,t; scanf("%d",&n); int a[n],i,k;  //这个a[n]必须要在输入n的值之后才能定义,不然定义不成. for(i=1; ...

  8. C语言中float,double类型,在内存中的结构(存储方式)

    C语言中float,double类型,在内存中的结构(存储方式)从存储结构和算法上来讲,double和float是一样的,不一样的地方仅仅是float是32位的,double是64位的,所以doubl ...

  9. Java语言中:float、double数据类型在内存中是如何存储的

    引用参考 https://www.cnblogs.com/chenmingjun/p/8415464.html#4291528 https://blog.csdn.net/yansmile1/arti ...

随机推荐

  1. 使用Hangfire处理后台任务

    Hangfire用法比较简单,个人觉得可以和Quartz框架配合使用. hangfire比较适合处理基于队列的任务,和延时执行任务. 至于重复和定时任务使用quartz框架可以支持秒级单位的定时任务处 ...

  2. 【Redis 向Redis中批量导入mysql中的数据(亲自测试)】

    转自:https://blog.csdn.net/kenianni/article/details/84910638 有改动,仅供个人学习 问题提出:缓存的冷启动问题 应用系统新版本上线,这时候 re ...

  3. LeetCode 215. 数组中的第K个最大元素(Kth Largest Element in an Array)

    题目描述 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 ...

  4. iconfont最基础使用

    iconfont最基础使用 一.总结 一句话总结: 你加入购物车然后下载好了图标之后,里面有demo_index.html,会非常详细的教你 Unicode/Font class/Symbol三种使用 ...

  5. js内存空间及this关键词详解

    http://mp.weixin.qq.com/s/FYFepXmkzzDYNLKhpovYFA

  6. Nginx设置成服务并开机自动启动

    在/etc/init.d下创建文件nginx [root@localhost ~]# vim /etc/init.d/nginx 其内容参考nginx官方文档 需要注意的配置: nginx=”/usr ...

  7. CentOS7安装后无法使用鼠标选中

    运行命令:yum install gpm*  安装gpm 启动gpm服务:service gpm start 运行systemctl enable gpm.servicere 添加到后台服务. 备注: ...

  8. php的时区修改

    Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to ...

  9. c++后台开发面试常见知识点总结(二)网络编程

    (1)TCP和UDP有什么区别? TCP是传输控制协议,提供的是面向连接的,可靠地字节流服务.使用三次握手建立连接,四次挥手释放连接.UDP是用户数据报协议,传输的是UDP数据报,是无连接的,而且没有 ...

  10. 怎样做delphi程序连接数据库失败,单机确定就关闭窗体

    我单机确定还会显示窗体?? Application.Terminate;