您的位置:首页 > 编程语言 > C语言/C++

Poedu_C语言_lesson10_20160909_整数类型

2016-09-11 15:26 316 查看
1.程序=算法+数据

2.常量、变量的定义

3.整数类型



int       32位

最大正数:0x7FFFFFFF

最大负数:0xFFFFFFFF

最小负数:0x80000000

short  16位

操作short所占用的资源会比int更大,因为32位系统一次性读写的数据是32bit。

在C语言中,规定了其的占位符为%hd,但是用%d来打印也是可以的,因为在如今的操作系统中,short都是先转换为int类型,再进行打印,因为short是16位,但是操作最快的是32(或64,视系统而定)位。

long   32位

为什么long的长度和int是一样的?

这是由系统决定的,以前的情况是操作系统众多,各类型所占大小(位)并不是固定的,但是要满足如下条件:

long>=int>=short  所以,如果出现long的长度等于int的长度,是允许的

long long  64位

由来:系统默认long的长度是32位,但是随着数据越来越大,32位不够用了,所以就有了long long

unsigned   

当前我们的数据类型是没有符号的,它的首位不再用于表示符号位,所有的位数都拿来表示整数,所以能够表示的数字会更大

关于有符号型和无符号型的一些实验:
  int 和 unsigned int 的取值范围:

int :最大正数:0x7FFFFFFF  即:2147483647
      最小负数:0x80000000   即:-2147483648

unsigned int:最大数:0xFFFFFFFF 即:4294967295 

无符号型数据,最高位不做符号位,因此,无符号型数据只有正数

注:记住各类型的取值范围,注意数据越界以及进位带来的影响,使用十六进制可以更简便的判定值是否超出变量类型的范围

(代码实验)

4.示例代码:后面加一个Demo做后缀,与工程代码区分开

5.main函数用int 型

main函数必须返回一个值,这样才知道程序是正常退出还是异常退出

6.声明变量:

当编译器执行到该语句时,会做两件事情:

在内存中的某个区域拿到内存指针,然后将内存指针后的4byte的空间归属于我们所定义的变量

7.对变量的操作(每个变量都是一个代号,是内存空间地址的标号以及当前数据所占空间大小的集合体)

写入:如int x=10;

不一定是十进制的,也可以是八进制、十六进制

访问:如int y; y=x;

声明y变量,找到x的内存地址,再其后读取4byte的内容,将它进行解析,得到一个值,再将这个值放到y指向的内存空间(可画图理解)

8.内存中所存储的数据都是相同的,但是会根据解析方式的不同呈现出不同的效果(值不同)

如:int y=-1;

       printf("y=%u",y);

运行程序,得到的结果是:y=4294967295

=>明显不是我们想要的(我们给y赋的值是-1)

=>所以输出时要注意格式(占位符的正确使用)

9.两个层面:

1)内存层面:内存中都是0和1的组合

2)解析层面:根据解析方式的不同,可能会得到不同的结果

10.换算

1字节=8bit

1字  =4字节

1双字=8字节

(双字:现今较为基础的存储单位(8*8=64))

11.数据的存储步骤

1)内存地址

2)需要的大小

     
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: