c语言中int long float double 等类型所占字节及输出表示(转)
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 等类型所占字节及输出表示(转)的更多相关文章
- 在java语言中int 和 Integer 有什么区别
在java语言中int 和 Integer 有什么区别 解答:int是基本数据类型,Integer是int的包装类,属于引用类型
- (七)C语言中的void 和void 指针类型
许多初学者对C中的void 和void 的指针类型不是很了解.因此常常在使用上出现一些错误,本文将告诉大家关于void 和void 指针类型的使用方法及技巧. 1.首先,我们来说说void 的含义: ...
- QT中QString 与 int float double 等类型的相互转换
Qt中 int ,float ,double转换为QString 有两种方法 1.使用 QString::number(); 如: long a = 63; QString s = QString:: ...
- Java中基本数据类型byte,short,char,int,long,float,double 取值范围
部分内容转自:java 彻底理解 byte char short int float long double 首先说byte: 这段是摘自jdk中 Byte.java中的源代码: /** * A co ...
- c语言中 int *p = NULL 和 *p = NULL 有什么区别
1. int *p = NULL; 代表定义一个指向整型变量的指针p,然后p的值设为NULL,也就是设为0:用另一种方式说,就是对一个刚定义的指向整型变量的指针,赋初始值,让其指向0地址. 2. *p ...
- c/c++ int long float double 表示范围
引自https://blog.csdn.net/xuexiacm/article/details/8122267
- C语言中,关于排序的问题(输入n个数,输出最大的那个)
int n,max=0,t; scanf("%d",&n); int a[n],i,k; //这个a[n]必须要在输入n的值之后才能定义,不然定义不成. for(i=1; ...
- C语言中float,double类型,在内存中的结构(存储方式)
C语言中float,double类型,在内存中的结构(存储方式)从存储结构和算法上来讲,double和float是一样的,不一样的地方仅仅是float是32位的,double是64位的,所以doubl ...
- Java语言中:float、double数据类型在内存中是如何存储的
引用参考 https://www.cnblogs.com/chenmingjun/p/8415464.html#4291528 https://blog.csdn.net/yansmile1/arti ...
随机推荐
- 使用Hangfire处理后台任务
Hangfire用法比较简单,个人觉得可以和Quartz框架配合使用. hangfire比较适合处理基于队列的任务,和延时执行任务. 至于重复和定时任务使用quartz框架可以支持秒级单位的定时任务处 ...
- 【Redis 向Redis中批量导入mysql中的数据(亲自测试)】
转自:https://blog.csdn.net/kenianni/article/details/84910638 有改动,仅供个人学习 问题提出:缓存的冷启动问题 应用系统新版本上线,这时候 re ...
- LeetCode 215. 数组中的第K个最大元素(Kth Largest Element in an Array)
题目描述 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 ...
- iconfont最基础使用
iconfont最基础使用 一.总结 一句话总结: 你加入购物车然后下载好了图标之后,里面有demo_index.html,会非常详细的教你 Unicode/Font class/Symbol三种使用 ...
- js内存空间及this关键词详解
http://mp.weixin.qq.com/s/FYFepXmkzzDYNLKhpovYFA
- Nginx设置成服务并开机自动启动
在/etc/init.d下创建文件nginx [root@localhost ~]# vim /etc/init.d/nginx 其内容参考nginx官方文档 需要注意的配置: nginx=”/usr ...
- CentOS7安装后无法使用鼠标选中
运行命令:yum install gpm* 安装gpm 启动gpm服务:service gpm start 运行systemctl enable gpm.servicere 添加到后台服务. 备注: ...
- php的时区修改
Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to ...
- c++后台开发面试常见知识点总结(二)网络编程
(1)TCP和UDP有什么区别? TCP是传输控制协议,提供的是面向连接的,可靠地字节流服务.使用三次握手建立连接,四次挥手释放连接.UDP是用户数据报协议,传输的是UDP数据报,是无连接的,而且没有 ...
- 怎样做delphi程序连接数据库失败,单机确定就关闭窗体
我单机确定还会显示窗体?? Application.Terminate;