_15__”与,或,异或,求补,按位左右移“运算

class MyClass
{
    public static void Main()
    {
        int varA = 10; //二进制为 00001010
        int varB = 20; //二进制为 00010100

        // “与”运算
        int andResult = varA & varB;
        Console.WriteLine("10 & 20 = {0}", andResult);

        // “或”运算
        int orResult = varA | varB;
        Console.WriteLine("10 | 20 = {0}", orResult);

        // “异或”运算
        int notorResult = varA ^ varB;
        Console.WriteLine("10 ^ 20 = {0}", orResult);

        // “求补”运算
        Console.WriteLine("~ {0:x8}  = {1:x8}", varA, ~varA);

        // 按位右移
        Console.WriteLine("{0:x8} >> 3 = {1}", varA, varA >> 3);

        // 按位左移
        Console.WriteLine("{0:x8} << 3 = {1}", varA, varA << 3);
    }
}
时间: 2024-11-05 16:27:05

_15__”与,或,异或,求补,按位左右移“运算的相关文章

浅谈Java中的补零扩展和补符号位扩展

今天,魏屌出了一道题,题目如下: 定义一个大头序的byte[]a={-1,-2,-3,-4},转换成short[]b.问b[0]和b[1]分别是多少? 乍一看,这题不难,无非就是移位操作,再进行组合.但是呢?对于用Java的童鞋来说,这里面有一个坑,稍不注意可能就踩进去了.在说之前,我先把代码和答案贴出来吧. 看到这里,可能有的童鞋比较奇怪,为啥要&0xff,这不相当于没变化吗?非也,不信我举个例子. 答案是-127和129.很奇怪不是吗?我想的明明都是-127啊!!! 解答这个问题之前,我们先

数组中出现一次的两个数(三个数)&amp; 求最后一位bit为1

对于两个数,对于结果中,剩余bit1来异或区分. 下面的解法,非常精简: int lastBitOf1(int number) { return number & ~(number - 1); } void getTwoUnique(vector<int>::iterator begin, vector<int>::iterator end, vector<int>& unique) { int xorResult = 0; for(vector<

一列数字的规则如下;1,1,2,3,5,8,13,21,34........ 求第30位数字是多少,用递规和非递归两种方法算法实现

斐波纳契数列(Fibonacci Sequence),又称黄金分割数列.在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理.准晶体结构.化学等领域,斐波纳契数列都有直接的应用,现在我从算法的角度,利用递归和非递归两种方式来进行实现: 一:递归 这个数列是用递归来实现的经典例子. private static  long Fibonacci(int n)         {             long resu

嵌入式linux C语言(一)——位运算的使用

嵌入式linux C语言(一)--位运算的使用 ARM是内存与IO统一编址,SoC中有很多控制寄存器,通过对这些寄存器进行位运算对这些控制寄存器进行设置,进而控制外设功能.在修改寄存器某些位的过程中不能修改其他的位. 一.位运算基础 C语言基本的位操作符有与.或.异或.取反.左移.右移六种位运算符.如下表所示: 符号 描述 运算规则 & 与 两个位都为1时,结果才为1 | 或 两个位都为0时,结果才为0 ^ 异或 两个位相同为0,相异为1 ~ 取反 0变1,1变0 << 左移 各二进位

二 Java基础

[第一个JAVA程序] 书写hello world,书写中排除常见的错误.★★★★★ 1 class Demo //类名:书写时每一个单词的首字母大写 2 { 3 public static void main(String[] args) 4 { 5 System.out.println("heloo world"); 6 } 7 } Javac: 编译命令: 功能是将Java的源文件编译成class文件.在编译的过程中会进行语法检查, 如果有语法错误错误,这时编译无法通过,不会生成

OC成长之路 &lt;一&gt; 位运算符、枚举、(原码,补码,反码)、以及NSInteger,NSUInteger,int的区别

引言: 咳咳,首先我是一枚资深小白(资深小白- -.也太衰),这个博客是自己用来记录迷糊犯二的东西. 最近发现难道是因为老了么(我明明18....),很多东西,脑子已经不记得了,迷迷糊糊,概念理论的东西脑子里面七零八落. 从一个知识点跳到另一个知识点,简直是连环事故. ??sad. 傲娇的我不服,决心要认认真真做好笔记,记录期间遇见的种种. 生活要有仪式感,学习应该也是要这样,作为Chapter 1 ,应该要起个好名字. 想了几十分钟,还是随便一些吧. 那就叫: OC成长之路 okok,来开始今

[linux]BASH 的基本语法

最简单的例子 —— Hello World! 关于输入.输出和错误输出 BASH 中对变量的规定(与 C 语言的异同) BASH 中的基本流程控制语法 函数的使用 2.1     最简单的例子 —— Hello World! 几乎所有的讲解编程的书给读者的第一个例子都是 Hello World 程序,那么我们今天也就从这个例子出发,来逐步了解 BASH. 用 vi 编辑器编辑一个 hello 文件如下: #!/bin/bash # This is a very simple exampleech

java web权限管理

之前项目采用spring4+security3做的权限管理,采用通用的 用户-角色,角色-资源来管理权限.但是太依赖角色,同时是粗粒度的,决定采用二进制权限管理,自己构建    1 依然采用组织概念,但是同时保留用户    2 资源可以赋权给组织,也可以赋权给用户,权限区分读写    3 用户可以在多个组织    4 用户权限覆盖组织权限    下面列出2进制权限算法演示 Java代码   //资源采用url表示 把所有拥有独立权限的资源(url)写入数据文件例如mysql 1.权限值的设定 用

Java补漏(二)

 第三章Java基本语法 3.1 标准输入输出流 3.1.1 标准输出输入流 System.in:标准输入流 System.out:标准输出流 System.err:标准错误输出流 3.1.2 标准输出流重定位 一般的输出会默认在命令行模式.终端机输出,可是在执行程序时使用将输出结果定位至指定的文件即可. java HelloJava > HelloJavaResult.txt 3.2 基本数据类型 整形{short(2个字节).int(4个字节).long(8个字节)} 字节型{byte(