位运算与嵌入式编程
2018-03-08 10:53
211 查看
1、找出下面程序的错误,并解释它为什么是错误的。
//解析:这道程序体存在着位运算问题
答案:
正确的程序如下所示:
2、以下代码哪个等同与
A、
B、
C、
D、
//The function need set corresponding bit int 0 #define BIT_MASK(bit_pos) (0x01<<(bit_pos)) int Bit_Reset(unsigned int* val, unsigned char pos) { if (pos >= sizeof(unsigned int) * 8) { return 0; } *val = (*val && ~BIT_MASK(pos)); return 1; }
//解析:这道程序体存在着位运算问题
答案:
*val = (*val & ~BIT_MASK(pos));
正确的程序如下所示:
#include<stdlib.h> #include<iostream> //The function need set corresponding bit int 0 #define BIT_MASK(bit_pos) (0x01<<(bit_pos)) int Bit_Reset(unsigned int* val, unsigned char pos) { if (pos >= sizeof(unsigned int) * 8) { return 0; } *val = (*val & ~BIT_MASK(pos)); return 1; } int main() { unsigned int x = 0xffffffff; unsigned char y = 4; Bit_Reset(&x, y); std::cout<<std::hex<<x<<'\n'; system("pause"); return 0; }
2、以下代码哪个等同与
int i = (int)p;(p的定义为char *p)
A、
int i = dynamic_cast<int>(p)
B、
int i = static_cast<int>(p)
C、
int i = const_cast<int>(p)
D、
int i = reinterpret_cast<int>(p)
相关文章推荐
- 位运算与嵌入式编程
- 【嵌入式Linux C编程】2018.3.8 数据类型、运算操作符、基本语句
- c/c++整理--位运算与嵌入式编程(3)
- 第十二章 位运算与嵌入式编程
- c/c++整理--位运算与嵌入式编程(1)
- 嵌入式编程常考的无符号数和有符号数的运算问题
- 编程中 常见的位运算问题
- 改进型时间触发嵌入式系统编程模式
- C语言编程规约(个人规约) 分类: 嵌入式开发学习 2014-02-21 14:32 370人阅读 评论(0) 收藏
- 嵌入式linux下socket网络通信编程实例一
- PS2接口标准及嵌入式编程
- DB2 9 运用开拓(733 测验)认证指南,第 4 部门: 嵌入式 SQL 编程(4)
- 编程技巧之嵌入式C语言完全学习笔记及案例[图]
- 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】深入剖析Linux中断机制之四--中断API
- 嵌入式 TCP网络编程实例
- 嵌入式Linux网络编程
- 嵌入式编程中关于const,static,extern,volatile的用法
- 二柱子的编程 四则运算2 完整版
- 转:嵌入式编程(以STM32为例)中的volatile,const意义及应用场景
- 嵌入式C编程规范