一、整形
1.常量形式(三种)
123 ------ 十进制的整型常量
0123 ------ 八进制的整型常量
0x123 ------ 十六进制的整型常量
进制转换:
十进制转n进制 ------ 除n取余法
n进制转十进制 ------ 加权求和
二进制与八进制相互转换 ------ 1位八进制数对应3位二进制数
二进制与十六进制转换 ------ 1位十六进制数对应4位二进制数
2.变量形式
(1)语法 ------- 数据类型 变量名;
数据类型(八种):
int ------ 整型,占4个字节
short ------ 短整型,占2个字节
long ------ 长整型,占8个字节
long long ------ 长长整型,占8个字节
以上四种类型又分别有 unsigned (无符号型)和 signed(有符号型---有正负),因此共八种
注:1个字节对应8位二进制数
变量名命名:
------ 1.数字、字母、下划线组成
------ 2.开头不能是数字
------ 3.不能与关键字重名
------ 4.不要和预处理命令 及 库函数名重名
(2)原理
eg:int a;
相当于要开出一块大小为4个字节的内存,并按字节进行编号,即地址。此时a就是这块 空间,里面装的值可修改。里面的值按照小端模式存放。
小端模式:“高高低低” ------ 高位数据存在高地址(地址编号大),低位数据存在低地址处
补充:
sizeof(运算数)------ 计算运算数所代表的数据类型占用的内存空间的字节数
------ 运算数可以是一个类型名 sizeof(int)
------ 也可以是变量名 sizeof(a)
------ 还可以是常量或表达式 sizeof(10)or sizeof(a+10)
(3)变量给值:
int a = 10;------- 初始化
int a;a = 10;------ 赋值
(4)计算机如何存储整型?------ 以它们补码形式存储
a. 正数 ------ 原码,反码,补码都是一样的,原码即转换成的二进制数
b. 负数 ------ 补码 = 反码 + 1
无符号 --- 表示所有的二进制位 都是数值位
有符号 --- 表示 有一位(最高位)充当了符号位,其余位是数值位
0 | 000 0000 0000 0000 0000 0000 0000 0000
符号位 数值位
最高位是0, 正
最高位是1 ,负
eg:把-7存如计算机
1|000 0000 0000 0000 0000 0000 0000 0111 //原码
1|111 1111 1111 1111 1111 1111 1111 1000 //反码
1|111 1111 1111 1111 1111 1111 1111 1001 //补码
f f f f f f f 9
负数的反码 是 原码 的符号位不变 其余位按位取反
(5)整型类型的取值范围
int
------ unsigned int 0~2^32-1
------ signed int -2^31 ~ 2^31- 1
short
------ unsigned short 0~2^16-1 //65535
------ signed short -32768 ~ 32767
二、浮点型
(1)常量形式(两种):
1.23
1.23e -4 ------ 科学计数法
(2)变量形式:
float 单精度 ,占4个字节
double 双精度 ,占8个字节
long double 占16个字节
(3)浮点数的存储:
eg:j12.125 //存到计算机
①首先 将十进制形式的小数,写成 二进制形式的小数
整数 除2取余法 ,小数部分 乘2取整法
12 --- 1100
0.125 * 2 = 0.25 --- 0
0.25 * 2 = 0.5 --- 0
0.5 * 2 = 1 --- 1
0.001
二进制形式
1100.001
②将二进制形式的小数 写成 科学计数法形式
1100.001 => 1.100001 * 2^3
③ 按照 IEEE 754 标准 存放
(4)浮点的比较 :①保证精度一致 ② 类型一致
代码中出现的 变量 或 常量 一定有其对应的数据类型
代码中出现的 浮点型常量 默认识别为 double 类型