1.1       sizeof关键字

sizeofc语言关键字,功能是求指定数据类型在内存中的大小,单位:字节

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 = ;//4个字节大小
short b = ;
printf("%d\n", sizeof(b));
long c = ;
printf("%d\n", sizeof(c));
long long d = ;
printf("%d\n", sizeof(d));
unsigned int e = ;//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 + + ;
printf("%d\n", abc); abc = ;
abc = abc - ;
printf("%d\n", abc); int i1 = 0x12345678;
abc = i1;
printf("%x\n", abc); short abc1 = -;
i1 = abc1;
printf("%x\n", i1); unsigned short abc2 = ;
abc2 = abc2 - ;
printf("%d\n", abc2); int a1 = 0x12345678;
printf("%p\n", &a1);//%p的意思是显示一个内存的地址,&a1代表变量a1的地址编号 return ;
}

资料来源:传智播客 仅供学习研究

2_C语言中的数据类型 (四)整数与无符号数的更多相关文章

  1. 深入理解计算机系统(2.5)------C语言中的有符号数和无符号数以及扩展和截断数字

    上一篇博客我们讲解了计算机中整数的表示,包括无符号编码和补码编码,以及它们之间的互相转换,个人觉得那是非常重要的知识要点.这篇博客我们将介绍C语言中的有符号数和无符号数以及扩展和截断数字. 1.C语言 ...

  2. 2_C语言中的数据类型 (七)printf与scanf

    1          字符串格式化输出和输入 1.1       字符串在计算机内部的存储方式 字符串是内存中一段连续的char空间,以’\0’结尾 “”是C语言表达字符串的方式 1.2       ...

  3. 2_C语言中的数据类型 (九)数组

    1          数组 1.1       一维数组定义与使用 int array[10];//定义一个一维数组,名字叫array,一共有10个元素,每个元素都是int类型的 array[0] = ...

  4. 2_C语言中的数据类型 (八)运算符

    1          运算符表达式和语句 1.1       基本运算符 1.1.1          = 数据对象:泛指数据在内存的存储区域 左值:表示可以被更改的数据对象 右值:能赋给左值的量 1 ...

  5. 2_C语言中的数据类型 (一)2.1.常量和字符串常量

    2.1 常量就是在程序中不可变化的量,常量在定义的时候必须给一个初值. 1.1.1          #define 定义一个宏常量 1.1.2          const 定义一个const常量 ...

  6. 2_C语言中的数据类型 (十)数组

    1          字符串与字符数组 1.1       字符数组定义 char array[100]; 1.2       字符数组初始化 char array[100] = {'a', 'b', ...

  7. 2_C语言中的数据类型 (九)逻辑运算符与if语句、switch、条件运算符?、goto语句与标号

    1          条件分支语句 1.1       关系运算符 在C语言中0代表false,非0代表真 1.1.1          < 小于 1.1.2          <= 小于 ...

  8. 2_C语言中的数据类型 (六)浮点数

    1.1       浮点float,double,long double类型 1.1.1          浮点常量,变量 Float在32位系统下是4个字节,double在32位系统下是8个字节 小 ...

  9. 2_C语言中的数据类型 (五)char

    1.1       char类型 1.1.1          char常量,变量 char c:定义一个char变量 ‘a’,char的常量 Char的本质就是一个整数,一个只有1个字节大小的整数 ...

随机推荐

  1. js判断状态

    '<input type="radio" class="danxuan" name="danxuan" code="'||v ...

  2. Linux 安装 pycharm

    1.Windows系统下载http://www.jetbrains.com/pycharm/download/#section=linux2.解压到挂载文件夹 mount -t cifs -o use ...

  3. 转载:从程序员的角度看ASCII, GB2312, UNICODE, UTF-8

    以下内容转自博客:http://blog.chinaunix.net/uid-22670933-id-1771613.html. 一.字符编码是怎么回事 0. 概念 字节是计算机的最基本存储单位,一个 ...

  4. Apache源码安装--httpd-2.2.34

    一.下载源码包 二.将源码包移动/usr/src/目录 三.解压源码包,并进入目录:tar -xzvf httpd-2.2.34.tar.gz,cd httpd-2.2.34 四.安装依赖包:yum ...

  5. webpack react 单独打包 CSS

    webpack react 单独打包 CSS webpack require css的方法,默认会把css 打入到js文件中,加载顺序有问题,如果需要打出独立的css文件 操作步骤: step1: 安 ...

  6. centos安装不上的问题

    Installing VMware Tools, please wait...mount: special device /dev/hda does not existmount: block dev ...

  7. FreeMaker常用方法

    FreeMaker常用方法 1.表达式转换类 ${expression}计算expression并输出 #{ expression }数字计算#{ expression ;format}安格式输出数字 ...

  8. SGU---101 无向图的欧拉回路

    题目链接: https://cn.vjudge.net/problem/SGU-101 题目大意: 给定你n张骨牌,每张牌左右两端有一个数字,每张牌的左右两端数字可以颠倒,找出一种摆放骨牌的顺序,使得 ...

  9. iOS AOP框架Aspects实现原理

    总结: Aspects 是对 类的继承结构isa.mataclass结构的调整和维护:相当于链表的节点插入和删除: 同时使用method Swizzling 对方法统一重定向: 同时使用类似代理的机制 ...

  10. 什么是HOOK(钩子):消息拦截与处理

    对于Windows系统,它是建立在事件驱动机制上的,说白了就是整个系统都是通过消息传递实现的.hook(钩子)是一种特殊的消息处理机制,它可以监视系统或者进程中的各种事件消息,截获发往目标窗口的消息并 ...