2_C语言中的数据类型 (三)整数与无符号数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了2_C语言中的数据类型 (三)整数与无符号数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1543字,纯文字阅读大概需要3分钟。
内容图文
1.1 sizeof关键字
sizeof是c语言关键字,功能是求指定数据类型在内存中的大小,单位:字节
sizeof与size_t类型
1.1 int类型
1.1.1 int常量,变量
int就是32位的一个二进制整数,在内存当中占据4个字节的空间
1.1.2 printf输出int值
%d,输出一个有符号的10进制整数,%u,代表输出一个无符号的十进制整数
1.1.3 printf输出八进制和十六进制
%x,代表输出16进制数,%X,用大写字母方式输出16进制数
%o代表输出八进制数
1.1.4 short,long,long long,unsigned int
short意思为短整数,在32位系统下是2个字节,16个比特
long意思为长整数,在32位的系统下,long都是4个字节的,在64位系统下,windows还是4个字节,unix下成了8个字节。
Int不管是32位系统下,还是64位系统下,不论是windows还是unix都是4个字节的
Long long是64位,也就是8个字节大小的整数,对于32位操作系统,CPU寄存器是32位,所以计算longlong类型的数据,效率很低
9l,9L,9ll,9LL,9u,9ull,9ULL
1.1.5 整数溢出
计算一个整数的时候超过整数能够容纳的最大单位后,整数会溢出,溢出的结果是高位舍弃。
当一个小的整数赋值给大的整数,符号位不会丢失,会继承
1.1.6 大端对齐与小端对齐
对于arm,intel这种x86构架的复杂指令CPU,整数在内存中是倒着存放的,低地址放低位,高地址放高位,小端对齐。
但对于unix服务器的CPU,更多是采用大端对齐的方式存放整数
#include <stdio.h> int main() { int a = 10;//4个字节大小short b = 10; printf("%d\n", sizeof(b)); long c = 10; printf("%d\n", sizeof(c)); longlong d = 10; printf("%d\n", sizeof(d)); unsigned int e = 10;//unsigned是关键字,代表是无符号数的意思 printf("%d\n", sizeof(e)); //unsigned short f;//无符号的short //unsigned long g;//无符号的long //unsigned long long i;//无符号的long long //int i1; unsigned short abc = 0xffff; abc = abc + 1 + 99; printf("%d\n", abc); abc = 2; abc = abc - 5; printf("%d\n", abc); int i1 = 0x12345678; abc = i1; printf("%x\n", abc); short abc1 = -2; i1 = abc1; printf("%x\n", i1); unsigned short abc2 = 0; abc2 = abc2 - 1; printf("%d\n", abc2); int a1 = 0x12345678; printf("%p\n", &a1);//%p的意思是显示一个内存的地址,&a1代表变量a1的地址编号return0; }
资料来源:传智播客 仅供学习研究
原文:http://www.cnblogs.com/wuchuanying/p/6284378.html
内容总结
以上是互联网集市为您收集整理的2_C语言中的数据类型 (三)整数与无符号数全部内容,希望文章能够帮你解决2_C语言中的数据类型 (三)整数与无符号数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。