1、整型
(1)整型常量
123 十进制 0x123 十六进制 0123 八进制
(2)进制之间转换
十转n:除n取余(高位→低位)
n转十:加权求和(n进制权重就以n为底数)
二转十六:分组(一位十六进制数 对应 四位二进制数)(不够高位补0)
二转八:分组(一位八进制数 对应 三位二进制数)
(3)整型变量
定义变量:开空间
int a; //开空间
int a = 10; //初始化 --- 定义变量的同时给值
a = 10; //赋值
类型:int short long long long
(4)大小
sizeof(int) = 4 字节
sizeof(short) = 2 字节
sizeof(long) = 8 字节
sizeof(long long) = 8 字节
int unsigned int:[0 , 4,294,967,295]
signed int[-1 2,147,483,648 , 2,147,483,647]
short unsigned short[0 , 65535]
signed short[-327678,32767]
(5)储存
大端模式
小端模式(电脑都是小端模式):高高低低:高位数据存放在高地址处
低位数据存放在低地址处
所有的整数存储在计算机用的都是 补码 的形式
正数:
补码 = 原码 = 反码
负数:
补码 = 反码 + 1
反码 = 原码按位取反 (符号不变)
unsigned int
0000 0000 0000 0000 0000 0000 0000 0000
signed int
符号位|数值位
0|000 0000 0000 0000 0000 0000 0000 0000 (0正1负)
int a = -123;
1|000 0000 0000 0000 0000 0000 0111 1011 原码
1|111 1111 1111 1111 1111 1111 1000 0100 反码
1|111 1111 1111 1111 1111 1111 1000 0101 补码
f f f f f f 8 5
(6)注意整数溢出问题
2、浮点型(实型)
(1)常量形式
1.234e3 //指数 --- 1.234 * 10^3
(2)类型: float double long double
(3)大小: sizeof(float) = 4
sizeof(double) = 8
sizeof(long double) = 16
(4)储存
step1: 将十进制小数转换为二进制形式的小数
整数部分 --- 除2取余法
小数部分 --- 乘2取整法(注意:0.6*2=1.2 然后0.2*2不是1.2*2)
step2: 将二进制形式的小数 写成 科学计数法形式
step3: 按照IEEE754标准进行存储
考点:浮点数的比较:保障精度(类型)一致
float
指数位(+127)
符号位| 8位 | 尾数位 (23位)
double
指数位(+1023)
符号位| 11位 | 尾数位 (52位)
double比float精度高(尾数更多)
3、字符型
(1) ascii表:
0~32 不可见字符 (控制字符)
48~57 '0'~'9'
65~90 'A'~'Z'
97~122 'a'~'z'
'A'~'Z'和'a'~'z' 大小写转换:+-32
(2) char ch;
ch = 'a'; //存放的实际上是 'a'对应的编码值,' '中只能放一个字符
(3)转义字符:
'\n' 换行
'\t' 制表符 一个tab 占 8个字符 空补0
'\b' 退格
'\r' 回车
\' '
\\ \
%d 有符号十进制 %u 无符号十进制 %o 八进制 %x 十六进制