gcc编译器
ASCII表
字符和二进制数据间的转换关系
'A' -> 65
'a' -> 97
C语言数据类型及常量
C语言基本数据类型:
整数类型
字符类型 | 在内存空间所占字节数 | 存储方式 | 值域范围 |
unsigned short无符号短整型 | 2 | 16位均表示数据位(数据对应的二进制形式) | 0-65535 |
Short 短整型 | 2 | 1位符号位+15位数据位(数据的补码) | -32768-32767 |
unsigned int无符号整型 | 4 | 32位均表示数据位(数据对应的二进制形式) | 0-2^32-1 |
int 整型 | 4 | 1位符号位+31位数据位(数据的补码) | -2^31-2^31-1 |
unsigned long 无符号长整型 | 8 | 64位均表示数据位(数据对应的二进制形式) | 0-2^64-1 |
long长整型 | 8 | 1位符号位+63位数据位(数据的补码) | -2^63-2^63-1 |
整数类型默认为有符号类型
字符类型
字符类型 | 在内存空间所占字节数 | 存储方式 | 值域范围 |
unsigned char无符号字符型 | 1 | 字符->ASCII码表->二进制数据->存放内存 | 0-255 |
char 有符号字符型 | 1 | -128-127 |
浮点数类型
字符类型 | 在内存空间所占字节数 | 存储方式 | 值域范围 |
float 单精度浮点型 | 4 | 1位符号位 + 8位指数位 + 23位尾数位 | 0-255 |
double 双精度浮点型 | 8 | 1位符号位 + 11位指数位 + 52位尾数位 | -128-127 |
1.浮点数类型均为有符号
2.float 6-8位有效数字、double 12-14位有效数字
进制转换
1.二进制,八进制,十六进制转十进制:
对应位*对应的的权值再求和
2.十进制 -> 二进制、八进制、十六进制:
(1) 十进制数除以进制数得到的余数逆序排列
(2)100=64+32+4 ->0110 0100
3.二进制 <->八进制
三位二进制对应一位八进制
101 010 <->52
4.二进制<->十六进制
四位二进制对应一位十六进制
1001 0100 <->94
数在内存中的存储:
正数:100 1100100
负数:-100 1011100
负数在内存中存储:
1.先获得原码(去掉符号位,数字对应的二进制形式)
2.获得反码 (原码取反)
3.获得补码(反码+1)
4.获得内存中的值(符号位+补码)
程序在计算机内部如何运行:
存储器:
1.内存
读写速度快
价格昂贵
掉电数据丢失
2.外存
读写速度慢
价格便宜
掉电数据不丢失
外存存储文件
a.out是存放在外存中的一个文件
./a.out时将该文件加载到内存中运行,内存负责与CPU交互执行代码内的运算处理
计算机内存的存储单位:
1 bit
1 byte == 8 bit
1 kb == 1024 byte
1 mb == 1024 kb
1 gb == 1024 mb
1 tb == 1024 gb
学习感悟:第二天比第一天感觉内容更多了,而且学到了以前学习c语言时没有注意到的东西,感觉现在的学习就是对以前知识的扫盲