【嵌入式】

【嵌入式】,第1张

【嵌入式】

一.进制转换:分别有以下前缀,2进制常用0B表示,8进制常用0O,16进制常用0X表示;1位八进制数等于3位二进制数,1位十六进制数等于4位二进制数,在二进制转化为八,十六进制数时。如果位数不够,可在数字前加0;而八进制和十六进制相互转化时,可以先转化为2进制数再继续进行相应转化。

二.位运算:都是按二进制进行计算的,都要化为0,1运算

1)左移(<<):整体向左移动,溢出的(高位)删去,其余补0,例如a=13<<2(1101),表示整体向左移两位,高位(11)删去,变为0100

2)右移(>>):整体向右移动,溢出的(低位)删去,其余补0,b=15>>2(1111),同左移,低位(11)删去,变为1100

3)按位与(&):两数与运算时,相同相位同为1时,则为1,a=3&5=(0011)&(0101)=0001=1

4)按位或(|):两数运算时,a=8|7=(1000)|(0111)=(1111)=15

5)按位异或(^):两数运算时,相应相位有一个为1则为1,a=15^16=(1111)(10000)=11111=31

6)取反(~):对二进制数取反,0变为1,1变为0

三.结构体:把多个不同类型的数据*(数组,指针,枚举)集合在一个类型之中

1.定义结构体:常用typedef定义结构体,1).定义类型时,同时定义该类型的变量

2).也可以先定义结构体类型,在定义变量

3).先用类型定义符typedef为结构体类 型命别名,再用别名定义变量

2.写入数据:当写入数据时在"."后加成员名,例如x.a=65000,a是成员(可以是多种类型的数据)

3.引用数据:变量名.成员名,例如stu.name,

四.1.静态变量(static):用static修饰的变量只会有一份内存,即使多次修改,也都是在上一次修改的基础上进行的

2.extern变量:在其他文件中的找外部变量,该变量可以调用多次,但只能定义一次

3.关键字const:一个变量若被const修饰,则表明改变量不能被修改(一般指针前面一个限制指针的值不能被修改,第一个限制内存不能被修改)

1)const int *pi:指针的值可以改变,不能改变指针指向内存的值,指针可以指向常量和变量

2)int const *pi:指针的值可以改变,不能改变指针指向内存的值,指针可以指向常量和变量

3)int *const pi:指针变量的值不能被改变,可以通过指针改变该指针指向变量的值,只能只想变量,定义时要初始化,不能被修改

4)int const *const pi:指向常量,指针无法修改,且该指针指向的内存也不能被修改

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/5718502.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存