博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二进制运算
阅读量:5846 次
发布时间:2019-06-18

本文共 1123 字,大约阅读时间需要 3 分钟。

一 引言

    最近在查看JDK1.8的源码,分析integer.java文件,发现用到一些位运算,遂网上了解一番。

二 正文

 下面的a和b都是整数类型,则:

 

含义 C语言 C#语言 Java
按位与 a and b a & b a & b a & b
a or b a | b a | b a | b
按位 a xor b a ^ b a ^ b a ^ b
按位 not a ~a ~a ~a
左移 a shl b a << b a << b a << b
带符号 a shr b a >> b a >> b a >> b
无符号右移       a>>> b

   例子:

 按位与 同符号

0b00000000000000000000000000001011

0B01111111111111111111111111111111
0B00000000000000000000000000001011 OK
按位与 不同符号
0b00000000000000000000000000001011
0B10000000000000000000000000000001
0B00000000000000000000000000000001 OK 
按位异或 同符号
0b00000000000000000000000000001011
0B01111111111111111111111111111111
0B01111111111111111111111111110100 OK
按位异或 不同符号
0b00000000000000000000000000001011
0B10000000000000000000000000000001
0B10000000000000000000000000001010 OK
按位取反 正整数
0b00000000000000000000000000001011
0b11111111111111111111111111110100 OK
按位取反 负整数
0B10000000000000000000000000000001
0B01111111111111111111111111111110 OK
左移2位 正数
0b00000000000000000000000000001011
0b00000000000000000000000000101100 OK
左移2位 负整数
0B10000000000000000000000000000001
0B00000000000000000000000000000100 OK

转载于:https://www.cnblogs.com/knsbyoo/p/9032625.html

你可能感兴趣的文章
php引用(&)详解及注意事项
查看>>
OSChina 周一乱弹 —— 只要给网,这种生活我能过一辈子
查看>>
短信猫JAVA二次开发包SMSLib,org.smslib.TimeoutException: No response from device解决方案...
查看>>
CloudStack 4.4学习总结之cloudstack-management安装
查看>>
【动弹有奖】——OSC登录并发送动弹分析(附python源码)
查看>>
protocol buffer安装及使用(非常详细)
查看>>
VTSS Error code
查看>>
360提供的Php防注入代码
查看>>
修改phpMyAdmin使其能够管理多台远程MySQL服务器
查看>>
RabbitMQ SSL安全认证
查看>>
CC***原理及防范方法
查看>>
windows phone (12) 小试自定义样式
查看>>
Linux后台启动脚本
查看>>
jna dll c
查看>>
CentOS 升级现有PHP版本
查看>>
(一) pyhon 基础语法(数值 字符串 元组 列表 字典)
查看>>
springboot 学习笔记【1】开发第一个spring boot应用
查看>>
HDOJ 1003:求一串数字中和最大的连续子串
查看>>
RedHat 5.6_x86_64 + ASM + RAW+ Oracle 10g RAC (二)
查看>>
win7不能全屏
查看>>