数据类型(整型、浮点型、字符型)

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