Microsoft visual C++ 2010学习版中C语言基本数据类型所占字节大小(系统为64位win8.1)
来源:互联网 发布:模拟星空软件中文版 编辑:程序博客网 时间:2024/06/06 20:23
使用sizeof函数分别测出各类型的字节大小:
#include <stdio.h>void main(){char a[]="hello";//c语言中,每个字符串常量的结尾都会加一个'\0'字符作为字符串结束标志,所以a应该占6个字节。short int b;int c;long int d;float e;double f;long double g;printf("size of a is %d\n",sizeof(a));printf("size of short int is %d\n",sizeof(b));printf("size of int is %d\n",sizeof(c));printf("size of long int is %d\n",sizeof(d));printf("size of float is %d\n",sizeof(e));printf("size of double is %d\n",sizeof(f));printf("size of long double is %d\n",sizeof(g));getchar();}
运行结果为:
C语言中数值是以补码形式表示的,一个正整数的补码和该数的原码(即该数的二进制形式)相同;求负数的补码的方法是:将该数的绝对值的二进制形式,按位取反再加1。
int类型 :
#include<stdio.h>void main(){int u=2147483647; //2^31=2147483648int a=4294967295; //2^32=4294967296int k=u+1;int b=a+1;printf("int:\n u=%d\nk=%d\n",u,k);printf("a=%d\nb=%d",a,b);getchar();}运行结果为:
u在计算机中的表示是0111 1111 1111 1111 1111 1111 1111 1111,第一个位是符号位。
k在计算机中的表示是1000 0000 0000 0000 0000 0000 0000 0000,这刚好是-2147483648的补码形式。
a在计算机中的表示是1111 1111 1111 1111 1111 1111 1111 1111,但由于int类型只占4个字节 且第一个位是符号位,这刚好是-1的补码形式。
b在计算机中的表示是0000 0000 0000 0000 0000 0000 0000 0000,前面本来还应有个位用来装进位的1,但是只有32位,所以b=0;
unsigned类型:
#include<stdio.h>void main(){unsigned u=2147483647; //2^31=2147483648unsigned a=4294967295; //2^32=4294967296unsigned k=u+1;unsigned b=a+1;printf("unsigned:\n u=%d\nk=%d\n",u,k);printf("a=%d\nb=%d",a,b);getchar();}运行结果为:
unsigned类型的运行结果怎么和int类型是一样的呢?
原来是我输出的时候,用的是%d,然而输出无符号数应该用%u才对。
将代码改为:
#include<stdio.h>void main(){unsigned u=2147483647; //2^31=2147483648unsigned a=4294967295; //2^32=4294967296unsigned k=u+1;unsigned b=a+1;printf("unsigned:\nu=%u\nk=%u\n",u,k);printf("a=%u\nb=%u",a,b);getchar();}运行结果为:
这样子结果就对了。
0 0
- Microsoft visual C++ 2010学习版中C语言基本数据类型所占字节大小(系统为64位win8.1)
- c语言基本数据类型在内存中所占字节
- 基本数据类型在32位系统和64位系统中所占字节数
- C语言中指针变量所占字节大小
- c语言中各类型所占字节大小
- C语言数据类型所占字节数
- C语言数据类型所占字节数
- C语言-数据类型所占字节数
- C语言中常用数据类型所占字节数
- C语言中数据类型所占字节数总结
- 笔记--关于c语言中各种数据类型所占字节。
- C/C++中基本数据类型在不同系统中所占空间大小
- C语言数据类型所占空间大小
- C语言在32位和64位系统上各类型所占字节数
- c语言数据类型对应字节数(32位,64位 int 占字节数)
- c语言数据类型对应字节数(32位,64位 int 占字节数)
- 基本数据类型所占的字节数【C/C++】
- C/C++基本数据类型所占字节数
- hibernate中持久化对象的生命周期(三态:自由态,持久态,游离态 之间的转换)
- Cookie禁用了,Session还能用吗?
- 整合Spring MVC,mybatis,hibernate,freemarker框架实现的自定义注解Validator验证机制实现对敏感词过滤的代码分享
- Exynos4412 Uboot 移植(四)—— Uboot引导内核过程分析
- [从头学数学] 第125节 不等式与不等式组 小结与复习题
- Microsoft visual C++ 2010学习版中C语言基本数据类型所占字节大小(系统为64位win8.1)
- *.pro、*.pri、*.prf、*.prl等四种文件
- 贪心算法
- mongodb图形化管理工具
- Android Hal 分析
- 宝典练习1之在排序数组中找指定元素出现次数
- Peugeot 301
- 笔试题2——机器学习
- MySQL数据库引擎MyISAM vs InnoBD