位运算与嵌入式编程
Strive--顾
一日之计在于晨,一生之计在于勤。
展开
-
位运算
先看下面一段代码:#include int main(int argc , char *argv[]){ unsigned short int i = 0 ; unsigned char ii = 255 ; int j = 8,p,q ; p = j << 1 ; q = j >> 1 ; i = i - 1 ; ii = ii + 1 ; printf("i = %d原创 2017-05-17 19:57:02 · 377 阅读 · 0 评论 -
设置或清除特定的位
嵌入式系统总是要求用户对变量或寄存器进行位操作。给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a的bit 3.在以上两个操作中,要保持其它位不变。通常情况下,大家对这个问题有3种基本的反应:(1)不知道如何下手,表示自己从没做过任何嵌入式系统的工作(2)用bit fields。bit fields是被扔到c语言死角的东西,它保证你的代码在不同编译器之间是不可移植的原创 2017-05-17 20:10:13 · 1462 阅读 · 0 评论 -
C++中的4种运算符转化以及它们的不同点
4种运算符如下:(1)const_cast 操作符:用来帮助调用那些应该使用却没有使用const关键字的函数。换句话说,就是供程序设计师在特殊情况下将限制为const成员函数的const定义解除,使其能更改特定属性。(2)dynamic_cast 操作符:如果启动了支持运行时间类型信息(RTTI),dynamic_cast 可以有助于判断在运行时所指向对象的确切类型。它与typeid运算符原创 2017-05-20 21:51:52 · 517 阅读 · 0 评论 -
嵌入式C语言面试题
1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL在这想看到几件事情:1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实转载 2017-10-07 22:03:29 · 581 阅读 · 0 评论 -
嵌入式C语言常用关键字
1.static关键字这个关键字前面也有提到,它的作用是强大的。要对static关键字深入了解,首先需要掌握标准C程序的组成。标准C程序一直由下列部分组成: 1)正文段——CPU执行的机器指令部分,也就是你的程序。一个程序只有一个副本;只读,这是为了防止程序由于意外事故而修改自身指令; 2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在转载 2017-10-03 14:34:07 · 4569 阅读 · 0 评论