侵权投诉

C语言的几种位操作运算程序详细说明

2020-07-18 12:00 次阅读

  在汇编语言中有直接对位进行操作的指令,如置位、复位、位取反、测试某一位等,这对于硬件操作十分方便,在C语言中尽管也提供了一些位操作手段,如按位与、按位或、按位取反等,但它们是对一个字节进行操作,如要对具体的一位操作,仍旧不方便,以下给出了一些函数,可以模仿汇编语言的一些位操作功能。

  #define uchar unsigned char

  /*测试变量某一位是否为‘1’,是返回真,否返回假,num为待测试的数,bit为位数,其值从0到7,下同*/

  uchar bittest(uchar num,uchar bit)

  { if(num》》bit&0x01==1)

  return 1;

  else

  return 0;

  }

  uchar bitclr(uchar num,uchar bit) /*清除某一位*/

  {

  uchar bit_value[]={1,2,4,8,16,32,64,128};

  return num&~bit_value[bit];

  }

  uchar bitset(uchar num,uchar bit) /*设置某一位*/

  {

  uchar bit_value[]={1,2,4,8,16,32,64,128};

  return num|bit_value[bit];

  }

  uchar bitcpl(uchar num,uchar bit) /*取反某一位*/

  {

  uchar bit_value[]={1,2,4,8,16,32,64,128};

  if(num》》bit&0x01==1)

  return num&~bit_value[bit];

  else

  return num|bit_value[bit];

  }

  /*以下主程序演示,调用时,可以直接给出数值,也可以给出变量名*/

  void main(void)

  {

  uchar xx=0xfe;

  xx=bitset(xx,0);

  printf(“The set out is %x\n”,xx);

  printf(“The clr out is %x\n”,bitclr(255,0));

  printf(“The test out is %x\n”,bittest(0xff,0));

  printf(“The cpl out is %x\n”,bitcpl(0x00,7));

  }

收藏 人收藏
分享:

评论

相关推荐

FPGA的在线升级的策略分析

基于FPGA的在线升级 在线升级的意义在线升级的策略整体框架总结参考文献结束语 在线升级的意义 首先什么是FPGA的在线...
发表于 09-29 17:03 0次 阅读
FPGA的在线升级的策略分析

使用STM8S003F3微控制器实现碰撞检测功能的工程文件免费下载

本文档的主要内容详细介绍的是使用STM8S003F3微控制器实现碰撞检测功能的程序和工程文件免费下载....
发表于 09-29 17:01 4次 阅读
使用STM8S003F3微控制器实现碰撞检测功能的工程文件免费下载

iPad分屏怎么用呢?具体步骤如下

通过如上5个步骤即可以完成相关操作,iPad分屏怎么用还是较为简单的,那么如何去进行分屏的前后顺序进....
的头像 倩倩 发表于 09-29 16:53 15次 阅读
iPad分屏怎么用呢?具体步骤如下

iPad如何取消底部横条,操作是否简单呢?

由上述步骤即可了解iPad如何取消底部横条,并不复杂,使用iPad过程中有很多设置功能,能够给用户带....
的头像 倩倩 发表于 09-29 16:50 70次 阅读
iPad如何取消底部横条,操作是否简单呢?

许多C++开发人员则希望C语言灰飞烟灭?!

70年代初,贝尔实验室创建了C语言,它是开发UNIX的副产品。很快C就成为了最受欢迎的编程语言之一。....
的头像 嵌入式ARM 发表于 09-29 14:42 32次 阅读
许多C++开发人员则希望C语言灰飞烟灭?!

C语言中的短路现象

短路现象1 比如有以下表达式 abc 只有a为真(非0)才需要判断b的值;只有a和b都为真,才需要判....
的头像 嵌入式ARM 发表于 09-29 14:39 18次 阅读
C语言中的短路现象

如何实现对通信数据的CRC计算

前言 最近的工作中,要实现对通信数据的CRC计算,所以花了两天的时间好好研究了一下,周末有时间整理了....
的头像 嵌入式ARM 发表于 09-29 14:26 43次 阅读
如何实现对通信数据的CRC计算

自己做的一个账号管理登录程序(可下载)

发表于 09-29 08:53 56次 阅读
自己做的一个账号管理登录程序(可下载)

了解内存:如何在嵌入式C语言中使用结构

处理器如何访问内存?了解有关C语言结构以及如何使用它们的更多信息。 本文将首先解释内存访问粒度的概念....
的头像 嵌入式星球 发表于 09-28 09:46 72次 阅读
了解内存:如何在嵌入式C语言中使用结构

额温枪的程序和原理图及物料清单等资料合集

本文档的主要内容详细介绍的是额温枪的程序和原理图及物料清单等资料合集。
发表于 09-28 08:00 15次 阅读
额温枪的程序和原理图及物料清单等资料合集

C语言的100个经典算法免费下载

本文档的主要内容详细介绍的是C语言的100个经典算法免费下载。
发表于 09-28 08:00 20次 阅读
C语言的100个经典算法免费下载

使用Visual Baisc实现列表播放媒体文件实验的程序和工程文件免费下载

本文档的主要内容详细介绍的是使用Visual Baisc实现列表播放媒体文件实验的程序和工程文件免费....
发表于 09-27 18:10 7次 阅读
使用Visual Baisc实现列表播放媒体文件实验的程序和工程文件免费下载

使用Verilog硬件描述语言实现简易函数发生器的设计说明

简易函数信号发生器在电路实验和设备检测中具有十分广泛的用途。在基于QUARTUS2软件平台下,运用V....
发表于 09-27 16:41 13次 阅读
使用Verilog硬件描述语言实现简易函数发生器的设计说明

学习嵌入式C编程语言:了解联合数据对象

嵌入式C中struct与union的区别 在本系列的上一篇文章中,我们讨论了嵌入式C中的结构允许我们对不同数据类型的变量进行分组并...
发表于 09-27 15:55 202次 阅读
学习嵌入式C编程语言:了解联合数据对象

了解内存:如何在嵌入式C语言中使用结构

处理器如何访问内存?了解有关C语言结构以及如何使用它们的更多信息。 本文将首先解释内存访问粒度的概念,以便我们可以对处理...
发表于 09-27 15:45 101次 阅读
了解内存:如何在嵌入式C语言中使用结构

嵌入式C语言源代码优化方案 主要优化程序的执行速度

1、选择合适的算法和数据结构 选择一种合适的数据结构很重要,如果在一堆随机存放的数中使用了大量的插入....
的头像 strongerHuang 发表于 09-27 11:45 128次 阅读
嵌入式C语言源代码优化方案  主要优化程序的执行速度

通过一些附加信息和有用的实现技术对C函数的探索

在本文中,我们将通过一些附加信息和一些有用的实现技术来结束对C函数的探索。 基本的C函数(例如,一个....
的头像 multisim 发表于 09-27 11:11 89次 阅读
通过一些附加信息和有用的实现技术对C函数的探索

如何得当使用C语言的特殊的用法

C语言有很多特殊的用法,如果这些特殊用法使用得当,会是你的代码变得更加有健壮,更加容易维护。 比如我....
的头像 strongerHuang 发表于 09-27 10:41 95次 阅读
如何得当使用C语言的特殊的用法

了解嵌入式C:什么是结构?

本文提供了有关嵌入式C编程中的结构的一些基本信息。在介绍了结构之后,我们将看一下这个强大的数据对象的一些重要应
的头像 嵌入式星球 发表于 09-27 09:59 64次 阅读
了解嵌入式C:什么是结构?

了解嵌入式C:什么是结构?

本文提供了有关嵌入式C编程中的结构的一些基本信息。 在介绍了结构之后,我们将看一下这个强大的数据对象的一些重要应用。然后...
发表于 09-27 09:24 202次 阅读
了解嵌入式C:什么是结构?

C++ Primer Plus的PDF的电子书免费下载

本书全面讲述了C语言编程的相关概念和知识。全书共17章。第1、2章学习C语言编程所需的预备知识。第3....
发表于 09-27 08:00 17次 阅读
C++ Primer Plus的PDF的电子书免费下载

C语言内存操作的陷阱!你踩过坑吗?

[table] [tr][td] 1、返回局部变量的地址,或者返回指向局部变量的指针 int *stackref() {     int val; &...
发表于 09-26 16:02 101次 阅读
C语言内存操作的陷阱!你踩过坑吗?

【大联大友尚安森美半导体感光芯片USB双目摄像头模组试用体验】敏感人群自动追踪系统开发

感谢主办方提供的双目摄像头提供测试。本项目利用双目摄像头模组+LattePanda Delta 432+NCS2神经棒部署openvino做一个敏感...
发表于 09-26 14:46 0次 阅读
【大联大友尚安森美半导体感光芯片USB双目摄像头模组试用体验】敏感人群自动追踪系统开发

C语言固件中指针的使用方法

有两个与指针关联的值。第一个是存储在指针本身中的存储地址,第二个是存储在该存储地址中的数据。要修改存....
的头像 multisim 发表于 09-26 11:38 109次 阅读
C语言固件中指针的使用方法

SPI总线驱动的C语言源代码详细概述

本文档的主要内容详细介绍的是SPI总线驱动的C语言源代码详细概述。
的头像 Wildesbeast 发表于 09-26 11:36 164次 阅读
SPI总线驱动的C语言源代码详细概述

I2C总线驱动的C语言源程序详细说明

 i2c 总线上单片机系统中常用到的总线技术这里给大家介绍一个I2C总线驱动的C51语言源程序。
的头像 Wildesbeast 发表于 09-26 11:07 171次 阅读
I2C总线驱动的C语言源程序详细说明

使用单片机实现数码管实验的程序和工程文件免费下载

本文档的主要内容详细介绍的是使用单片机实现数码管实验的程序和工程文件免费下载。
发表于 09-25 17:33 24次 阅读
使用单片机实现数码管实验的程序和工程文件免费下载

使用单片机实现流水灯实验的程序和工程文件免费下载

本文档的主要内容详细介绍的是使用单片机实现流水灯实验的程序和工程文件免费下载。
发表于 09-25 17:33 33次 阅读
使用单片机实现流水灯实验的程序和工程文件免费下载

使用单片机点亮LED灯的程序和工程文件免费下载

本文档的主要内容详细介绍的是使用单片机点亮LED灯的程序和工程文件免费下载。
发表于 09-25 17:33 53次 阅读
使用单片机点亮LED灯的程序和工程文件免费下载

使用单片机实现独立按键的程序和工程文件免费下载

本文档的主要内容详细介绍的是使用单片机实现独立按键的程序和工程文件免费下载。
发表于 09-25 17:33 32次 阅读
使用单片机实现独立按键的程序和工程文件免费下载

使用单片机实现蜂鸣器的程序和工程文件免费下载

本文档的主要内容详细介绍的是使用单片机实现蜂鸣器的程序和工程文件免费下载。
发表于 09-25 17:33 27次 阅读
使用单片机实现蜂鸣器的程序和工程文件免费下载

c语言中一些花里胡哨的写法

转自:嵌入式Linux 我觉得这是一个送分题,奈何知乎人才太多了,给出了各种古怪的写法,如果是做项目....
的头像 strongerHuang 发表于 09-25 14:39 114次 阅读
c语言中一些花里胡哨的写法

ARM开发软件的使用教程详细说明

说明: 本文是ARM 开发的一些经验总结,以EV44B01.2 开发板为例,给出入门
发表于 09-24 17:08 37次 阅读
ARM开发软件的使用教程详细说明

Redis抢红包项目

业务流程分析 功能拆解 新建红包 在 DB、Redis 分别新增一条记录 抢红包(并发) 「使用技术....
的头像 数据分析与开发 发表于 09-24 15:09 90次 阅读
Redis抢红包项目

如何学习单片机方法和步骤说明

学习单片机的动机不外乎有四种:一是为兴趣爱好而学,二是为专业而学;三是为饭碗而学;四是在工作中被逼而....
发表于 09-24 08:00 43次 阅读
如何学习单片机方法和步骤说明

单片机C语言模块化编程的实例说明

当你在一个项目小组做一个相对较复杂的工程时,意味着你不再独自单干。你需要和你的小组成员分工合作,一起....
发表于 09-24 08:00 106次 阅读
单片机C语言模块化编程的实例说明

8255芯片实现并行接口实验的程序和工程文件免费下载

本文档的主要内容详细介绍的是8255芯片实现并行接口实验的程序和工程文件免费下载。
发表于 09-23 17:55 27次 阅读
8255芯片实现并行接口实验的程序和工程文件免费下载

温度测量实验的ASM和C51程序和工程文件免费下载

本文档的主要内容详细介绍的是温度测量实验的ASM和C51程序和工程文件免费下载。
发表于 09-23 17:54 15次 阅读
温度测量实验的ASM和C51程序和工程文件免费下载

如何使用FPGA实现串口通信的资料和程序免费下载

UART接收。因为只有数据线,没有时钟,这种叫异步通信。首先双方必须约定好通信用的时钟频率, 但是双....
发表于 09-23 16:48 28次 阅读
如何使用FPGA实现串口通信的资料和程序免费下载

工业人的思维方式与学术界差别很大

从专业技术看,工业软件开发其实也不是特别难。关键是思维方式要融合,还要融合得天衣无缝。 我经常讲一个....
的头像 智能制造 发表于 09-23 15:08 46次 阅读
工业人的思维方式与学术界差别很大

C语言的主要特征是什么

C语言不仅是IT的必修课,也是所有理工科、甚至所有专业的必修课。它具有简洁紧凑、灵活方便、适用范围大....
的头像 STM32嵌入式开发 发表于 09-23 11:13 92次 阅读
C语言的主要特征是什么

基于C语言实现的贪吃蛇小游戏

定义一个坐标数组,存放的是蛇的每一节蛇身所在的坐标位置。这样就将移动蛇身的操作转换为移动数组的操作,....
的头像 STM32嵌入式开发 发表于 09-23 11:10 66次 阅读
基于C语言实现的贪吃蛇小游戏

执行大量的for循环及嵌套,数组结果溢出

[code]     for(k=0;k
发表于 09-23 10:40 0次 阅读
执行大量的for循环及嵌套,数组结果溢出

ARM嵌入式学习知识图谱-C语言入门系列文章

想要做ARM开发,C语言绝对是重中之重,在这方面是是没有捷径可以走的,这篇文章为大家收集了论坛的优秀C语言初级文章,希望...
发表于 09-23 10:05 303次 阅读
ARM嵌入式学习知识图谱-C语言入门系列文章

单片机程序的编写方法

学习单片机最主要的是学习写程序的方法,程序的功能千变万化,是学不完的,只有掌握了一定方法,才能用这种....
发表于 09-22 17:17 249次 阅读
单片机程序的编写方法

使用51单片机独立键盘控制输出脉冲信号的程序免费下载

本文档的主要内容详细介绍的是使用51单片机独立键盘控制输出脉冲信号的程序免费下载。
发表于 09-22 17:09 43次 阅读
使用51单片机独立键盘控制输出脉冲信号的程序免费下载

HarmonyOS应用开发-API参考

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软...
发表于 09-22 15:14 101次 阅读
HarmonyOS应用开发-API参考

C语言内存操作有哪些陷进

如从stdin读取一个int变量时,scanf(“%d”, &val);是正确用法,若误写为scan....
的头像 嵌入式ARM 发表于 09-22 14:45 171次 阅读
C语言内存操作有哪些陷进

步进电机综合控制的C语言程序和工程文件免费下载

本文档的主要内容详细介绍的是步进电机综合控制的C语言程序和工程文件免费下载。
发表于 09-22 08:00 26次 阅读
步进电机综合控制的C语言程序和工程文件免费下载

如何使用py2exe使Python转换成exe程序

py2exe 能够把Python script 转换成可以在windows 上独立执行的( 即不需安....
发表于 09-21 17:12 17次 阅读
如何使用py2exe使Python转换成exe程序

Python的单行命令实例说明

这是一个专门介绍可以执行强大操作的短程序的页面。一种编写短程序的能力,它与用另一种语言编写的程序一样....
发表于 09-21 17:12 18次 阅读
Python的单行命令实例说明

什么是嵌入式_如何入门和提高嵌入式

因为首先,嵌入式有不少组合名词,例如嵌入式系统,嵌入式软件,Linux嵌入式,Android嵌入式,....
发表于 09-21 15:00 172次 阅读
什么是嵌入式_如何入门和提高嵌入式

TIOBE已公布2020年9月的编程语言排行榜

TIOBE 每个月都会公布一次编程语言的排行榜,这份排行榜排名基于全球技术工程师、课程和第三方供应商....
的头像 玩转单片机 发表于 09-21 14:13 819次 阅读
TIOBE已公布2020年9月的编程语言排行榜

嵌入式C语言源代码优化方案(非编译器优化)

选择一种合适的数据结构很重要,如果在一堆随机存放的数中使用了大量的插入和删除指令,那使用链表要快得多....
的头像 嵌入式ARM 发表于 09-21 11:55 284次 阅读
嵌入式C语言源代码优化方案(非编译器优化)

C语言程序设计全套培训课件免费下载

本文档的主要内容详细介绍的是C语言程序设计全套培训课件免费下载包括了:第1章 C语言概述,第2章 程....
发表于 09-21 08:00 20次 阅读
C语言程序设计全套培训课件免费下载

100个经典的C语言程序免费下载

本文档的主要内容详细介绍的是100个经典的C语言程序免费下载。
发表于 09-21 08:00 47次 阅读
100个经典的C语言程序免费下载

如何使用C语言实现PID控制算法

最近两天在考虑一般控制算法的 C 语言实现问题,发现网络上尚没有一套完整的比较体系的讲解。于是总结了....
发表于 09-21 08:00 41次 阅读
如何使用C语言实现PID控制算法

浮点数在内存中的存储

浮点数在内存中的存储和整数不同,因为整数都可以转换为一一对应的二进制数据。而浮点数的存储是由符号位 ....
的头像 嵌入式ARM 发表于 09-20 10:52 119次 阅读
浮点数在内存中的存储