数据类型和内存二进制的相关
二进制 八进制 十六进制
位bit是含有0或1的一个单位
给一串二进制加上架构的概念,这样的结构叫字节
一个字节byte由8位构成, 一个字word由32构成或4个字节
一个字节最大是8位,8位数的二进制 1111 1111换成十进制255,也就是说一个字节最大能存的整数是255
2个字节可以存放 2的16次方=65535 4个字节2的32次方=4 294 967 295
大小写的26个英文字母还有10个数字和标点符号加在一起的内容在字节对应中有个ASC2的编码。
内存编号
起始编号是1 隔8个位置加1
| 起始编码1 | 位7 | 位6 | 位5 | 位4 | 位3 | 位2 | 位1 | 位0 |
|---|---|---|---|---|---|---|---|---|
| 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 |
| 2 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
C语言用的是起始地址+长度 编码2开始 往后4个字节
数据类型 DataType
数据类型是程序所处理的数据的抽象,将可能出现的数据进行分类 比如整数和带小数点的数。
C语言创造了很多丰富的数据类型
- 构造类型
- 指针类型
- 空类型
- 基本类型
基本类型
枚举类型enum 字符类型char 数值类型包括实型和整型
- 实型包括 单精度
float双精度double - 整型包括 短整型
short整型int长整型long
构造类型
包括 数组 结构体 共用体
构造类型是由多个其他数据雷西瓜组合而成,可以分解成若干个元素或成员,每个元素或成员要么是一个基本数据类型,要么又是一个构造类型。
- 数组 所有元素是同一个类型
- 结构体 不同数据类型的组合
- 共用体 多个雨啊宿不同数据类型 共用一块内存
空类型
Void 多数用在函数和指针的地方
需要Google一下的内容是
内存地址的布局方式
int x = 4294967295 打印出来的正好是255
如果x的声明是4294967296 换成32地址的话
1 0000-0000 0000-0000 0000-0000 0000-0000
如果x的声明是4294967297 换成32地址的话
1 0000-0000 0000-0000 0000-0000 0000-0001
评论
发表评论