`

C/C++中的位运算

阅读更多

    C/C++提供了六个位运算操作符,可以对整数进行位运算,下面分别来介绍这六种位运算符。

    (1)按位与&

    将两个操作数的每一个二进制位进行逻辑与运算。

    例如:3&5

    3:00000011

    5:00000101

  3&5:00000001

    按位与操作有以下两个特别的用处:将某个操作数的若干位置0;取操作数的若干指定位。

1: char a = a & 0xfe; //将char类型变量a的最低位置0
2: char c;int n;c=n&0xff //将int类型变量n的低8位赋给char类型变量c
(2)按位或| 将两个操作数的每一个二进制位进行逻辑或运算。 例如:

    3:00000011

    5:00000101

  3|5:00000111

    按位或可以将操作数的某些指定位置1。

1: int a; a = a | 0xff;//将int a的低8位置1

    (3)按位异或^

    将两个操作数的每一个二进制位进行逻辑异或运算。运算规则:对应位相同,异或结果为0;对应位不同,异或结果为1。

    例如:

    3:00000011

    5:00000101

  3^5:00000110

    异或的特殊功能:某位与0异或,结果与原数值相同;某位与1异或,结果与原数值相反。

    举例:要使00001111低四位反转,只需将其与0xf异或

    00001010

    00001111

   ^00000101

    (4)按位取反~

    对操作数的每个二进制位取反。这个就不细说啦大笑

    (5)左移位<<;

    按照运算符右侧操作数指定的位数将左侧操作数二进制值向左移动。低位补0,高位舍弃。

    (6)右移位>>;

    按照运算符右侧操作数指定的位数将左侧操作数二进制值向右移动。低位舍弃;无符号数高位补0,有符号数高位要么补0,要么补符号位。

    掌握位运算一方面要牢记概念,另一方面需要注意各种位运算的特点。

0
1
分享到:
评论

相关推荐

    c/c++中文帮助文档(API)

    在C/C++中,API主要由头文件组成,这些头文件定义了库函数的原型,允许程序员在自己的程序中调用这些函数。本资源“c/c++中文帮助文档(API)”为开发者提供了一个全面的参考,帮助他们理解和使用C和C++的各种库函数...

    c/c++ 四则运算实现

    在C/C++编程中,实现四则运算是一项基础但重要的任务。这涉及到解析字符串、处理运算符优先级和括号,以及使用堆栈数据结构。本文将深入探讨如何使用C/C++来实现这一功能。 首先,我们需要理解的是,四则运算的计算...

    位运算生成乱码(C/C++)

    功能:读取一个*.txt文件 把里面的数字(以及字母)转换成乱码并保存; 再读取乱码*.txt文件 把里面的乱码转化为原来的数字(以及字母)并保存。

    C/C++四则运算计算器Qt源码

    在本项目中,"C/C++四则运算计算器Qt源码"是一个使用C++编程语言和Qt库构建的简单计算器应用程序。Qt是一个跨平台的应用程序开发框架,它提供了丰富的图形用户界面(GUI)组件和工具,使得开发者可以方便地创建桌面...

    C/C++中文函数手册

    C语言是计算机科学中的基础编程语言,其函数库提供了丰富的功能,包括输入/输出操作、内存管理、字符串处理、数学运算等。C++则是C语言的扩展,引入了面向对象编程的概念,拥有更复杂的类系统和模板等特性。《C++ ...

    C/C++十六进制异或运算

    在C/C++编程中,十六进制异或运算经常被用于加密、数据校验、位操作等场景。 在C/C++中,我们可以直接对整数进行异或操作,因为计算机内部是以二进制形式存储数据的,而十六进制只是二进制的一种便捷表示。例如,...

    c/c++参考手册

    5. **标准库**:涵盖C标准库中的各种函数,如输入/输出(stdio.h)、字符串处理(string.h)、数学运算(math.h)等。 C++部分则包含更丰富的主题: 1. **面向对象编程**:讲解类、对象、封装、继承、多态等核心...

    C/C++的资料(大家来看看)

    标题中的"C/C++的资料(大家来看看)"是一个邀请学习者探索C和C++编程语言的资源集合。描述进一步强调了这些资料对学习者的价值,暗示其中包含的信息可以帮助提升C/C++编程技能。 C++Base.chm这个文件名可能指的是一...

    C/C++语言位运算详解

    位运算在C/C++编程中扮演着重要角色,特别是在底层系统编程、硬件接口操作以及高效算法设计中。本文将深入探讨C/C++语言中的位运算,包括按位与(&)、按位或(|)和按位异或(^)运算符。 1. **按位与(&)** 按位与...

    C/C++指针经典资料大全

    在IT领域,C和C++语言中的指针是至关重要的概念,它们是程序设计的基础,也是许多高级技术的基石。本资源包“C/C++指针经典资料大全”收集了多部经典教材,旨在帮助学习者深入理解并掌握指针的使用。 1. **指针基础...

    MATLAB与C/C++、FORTRAN语言混合编程[整理].pdf

    MEX文件是一种可执行文件,能够被MATLAB直接调用,使得C/C++编写的代码能够在MATLAB环境中运行。通过MEX接口,开发者可以编写C/C++代码来处理计算密集型任务,然后在MATLAB中调用这些函数,提高程序运行效率。例如,...

    C/C++学习集锦.rar

    《C语言函数速查.chm》是C语言函数的快速参考手册,涵盖了标准库中的各种函数,如输入输出、内存管理、字符串处理、数学运算等。学习C语言时,掌握这些函数的用法至关重要,因为它们构成了C语言程序的基础。 ...

    C/C++语言参考手册

    《C/C++语言参考手册》是一本为初学者量身打造的编程指南,涵盖了C语言和C++语言的基础知识和高级特性。这本书旨在帮助读者掌握这两种语言的核心概念,理解它们的语法结构,并能够运用到实际的编程项目中。 C语言是...

    C/C++ 参考手册

    虽然《C/C++参考手册》没有涵盖这部分内容,但开发者仍需了解如何使用`&lt;algorithms&gt;`库中的函数,以便在需要时进行查找和学习。 压缩包中的`C++Library.chm`文件可能是一个帮助文件,通常用于存储离线文档或参考...

    简单的60题c/c++ 初学程序

    2. **指针**:C/C++中的指针是其强大特性的体现,题目可能要求理解指针的声明、指针与数组的关系、指针的运算以及动态内存分配(malloc和free)。 3. **数组和字符串**:数组在C/C++中是基本的数据结构,题目可能...

    C/C++参考手册大全5本集合.chm

    首先,C-C++函数手册是一部关于C和C++函数使用的综合指南,包括了标准库中的各种函数,如输入输出操作、字符串处理、数学运算等。它详述了每个函数的参数、返回值和使用方法,帮助开发者正确地调用和使用这些函数,...

    精通Matlab与C/C++混合编程设计 第3版 光盘源代码

    这本书旨在帮助读者掌握在Matlab中利用C/C++代码提升计算性能、优化算法以及解决复杂工程问题的方法。 Matlab是一种广泛使用的数学计算和数据分析工具,它提供了丰富的函数库和直观的编程环境。然而,对于大规模...

    大量C/C++笔试题

    C/C++作为编程语言中的老牌强手,广泛应用于系统编程、应用开发和嵌入式领域。这份“大量C/C++笔试题”集合涵盖了从基础知识到深入概念的各种问题,旨在帮助求职者在面试过程中表现出色。以下是一些重要的C/C++知识...

    嵌入式C/C++语言精华文章集锦.pdf

    - **库的使用**:当使用C语言编写的库时,`extern "C"`声明是必须的,它保证了正确的符号匹配,使得C++代码能够调用C库中的函数和使用其中的变量。 #### 3. C语言高效编程的几招 在嵌入式系统中,效率至关重要,...

    C/C++程序员实用大全代码

    2. **指针**:C/C++的核心之一,涉及指针声明、解引用、指针运算、动态内存分配与释放。 3. **函数**:如何定义、调用函数,参数传递,递归函数的应用。 4. **数组和字符串**:数组的操作,字符串处理函数,如...

Global site tag (gtag.js) - Google Analytics