1)2进制、8进制、16进制的相互转换
1.进制的概念(只是一种计数的方法)
2.进制的转换
(1)2进制转换成16进制
2进制:0B 16进制:0X
通过8421码计算
例子:
方法1.通过8421码,先算2进制转换成10进制,再转换成16进制
注:不够四位的添0
方法2:电脑自带的计算器,程序员模式
HEX:16进制
DEC:10进制
OCT:8进制
BIN:2进制
(2)10进制转换成其他进制
原则:转成几进制就除几,余数倒叙排列
(3)其他进制转换成10进制
原则:每一位成权重相加
例:10101
2)位运算(或、与运算、异或,取反,左移,右移)
逻辑运算符
位移运算符
1.位与
二元运算符
先将数字转换成二进制
当两个位都为1时结果为1
在传唤成10进制就可以看到这两个数位移的结果
2.位或
二元运算符 ,先转换成2进制
当每一位都为0时,结果为0,其他为1
3.异或
对于每一位,不同时结果为1,相同是结果为0
4.按位取反
是一个一元运算,
就是转换成2进制后,0变1,1变0
5.左移
是一个二元运算
x左移y位
转换成二进制,对所有为左移y位
末尾y位补0
左移一位可以看成对x乘了二
6.右移
将x转换成2进制,所有位右移
如果x为非负数则高位补0,x是负数高位补1.
右移一位可以看成是x/2,并且向下取整。
3)结构体的使用及参数传递
1.结构体
是c语言中一个数据结构
需要的是多种数据类型,结构体概括了多种数据类型
(1)枚举与结构体的区别
(2)写法
u8:字符型
u16:整形变量
u32:常变量
(3) 在程序中的使用
特殊形式:加typedef,x可以用来定义变量,x变成一一种数据类型
4)静态变量(static)、extern变量,关键字const
1.静态变量(static)
静态变量在程序函数执行完,不会释放内存,知道主程序运行完内存才会被释放。
普通变量在函数运行完释放内存
2.extern变量
外部存储变量
可以调用其他.c文件的变量
3.关键字const