基础知识复习(一)——C语言位运算符详解

常用的位运算符:与(&),取反(~),或(|),异或(^),左移(«),右移(»)

1. 与(&)操作符,按位与,全为1 时,结果取1

11001

&10011

结果:10001

2. 取反(~),为1,则取0,为0则取1,如:

10010 取反 01101

3. 或(|),两个数均为0时取0,其他情况为1

10010

11100

结果:11110

4. 异或(^),如果某位不同则取1,否则为0。

10010

11100

异或:01110

xor运算的逆运算是它本身,也就是说两次异或同一个数最后结果不变,即(a xor b) xor b = a。异或可用来实现两个数交换,且不需要临时变量。

a=aXORb

b=aXORb

a=aXORb

5.左移(«),即在数的末尾加N位0,相当于为原数*2的N次方,比直接*2更快

如1100左移三位,则为1100 000

6.右移(»),即去掉末尾的几位数,相当于为原数除以2的N次方。

如110011,右移三位,则为110

时间: 2024-07-30 13:24:32

基础知识复习(一)——C语言位运算符详解的相关文章

Java千问:Java语言位运算符详解

很多编程语言都有位运算符,Java语言也不例外.在Java语言中,提供了7种位运算符,分别是按位与(&).按位或(|).按位异或(^).取反(~).左移(<<).带符号右移(>>)和无符号右移(>>>).这些运算符当中,仅有~是单目运算符,其他运算符均为双目运算符.在讲解这些运算符的使用之前,必须了解一个常识,那就是:位运算符是对long.int.short.byte和char这5种类型的数据进行运算的,我们不能对double.float和boolean进

Java的位运算符详解实例

Java的位运算符详解实例——与(&).非(~).或(|).异或(^).右移(>>).左移(<<).无符号右移(>>>) 位运算符主要针对二进制, 它包括了:“与”.“非”.“或”.“异或”."右移"."左移"."无符号右移". 从表面上看似乎有点像逻辑运算符, 但逻辑运算符是针对两个关系运算符来进行逻辑运算, 而位运算符主要针对两个二进制数的位进行逻辑运算. 下面详细介绍每个位运算符. 1.与运

[转]Java的位运算符详解实例——与(&amp;)、非(~)、或(|)、异或(^)

位运算符主要针对二进制,它包括了:“与”.“非”.“或”.“异或”.从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算.下面详细介绍每个位运算符. 1.与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段.public class data13{public static void main(String[] args){int a=129;int b=128

c语言位运算详解

位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C语言提供了6个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型. C语言提供的位运算符列表: 运算符含义描述 & 按位与      如果两个相应的二进制位都为1,则该位的结果值为1,否则为0 | 按位或      两个相应的二进制位中只要有一个为1,该位的结果值为1 ^ 按位异或    若参加运算的两个二进制位值相同则为0,否则为1 ~ 取反        ~

C语言位运算详解(转载)

转载自:http://www.cnblogs.com/911/archive/2008/05/20/1203477.html 位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C语言提供了6个位操作 运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型.C语言提供的位运算符列表:运算符 含义 描述& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0| 按位或 两个相应的二进制位中只要有一个为1,该位的结

Java位运算符详解

# 前言 之前了解过位运算符,左移`>`等于除以2.但是我在看jdk源码的时候发现了一个`>>>`三个符号的,不明白这是什么意思,就去搜了一下,发现还挺多的知识点的,就整理了一下. 首先我们知道,我们编写的程序最终都是在计算机底层进行的,计算机底层也仅支持0.1两种符号.所以当时网上有个键盘只有0.1两个键,那才是大佬用的键盘.扯远了... 先来复习一下java的基本类型都占多少字节,占多少位(1字节等于8位): | 类型 | 字节数 | 位数 | 大小范围 | | -------

位运算符详解

运算符   含义   &   按位与   |   按位或   ∧   按位异或   ∽   取反   <<   左移   >>   右移 说明: 1.位运算符中除∽以外,均为二目(元)运算符,即要求两侧各有一个运算了量. 2.运算量只能是整形或字符型的数据,不能为实型数据. “按位与”运算符(&) 规定如下: 0&0=0   0&1=0   1&0=0   1&1=1 例:3&5=?                      

Java的位运算符详解实例——与(&amp;)、非(~)、或(|)、异或(^)

位运算符主要针对二进制,它包括了:"与"."非"."或"."异或".从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算.下面详细介绍每个位运算符. 1.与运算符 与运算符用符号"&"表示,其使用规律如下: 两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段. public class data13 { publ

6.Java逻辑运算符和位运算符详解

一.逻辑运算符 逻辑运算符共有三种,即“非”.“和”.“或”,分别用 " ! ".“&&”.“||”表示.其中: 非运算(!)表示否定,如:!true等于false.!false等于true.!2等于false.!0等于true. 和运算(&&)前后两个条件都为真时,才返回true,否则返回false. 或运算(||)前后两个条件有一个为真是,返回true,都为假时,返回false. public class data10{     public sta