我是靠谱客的博主 冷酷电灯胆,最近开发中收集的这篇文章主要介绍二进制位运算,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一 引言

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

二 正文

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

含义Pascal语言C语言C#语言Java
按位与a and ba & ba & ba & b
按位或a or ba | ba | ba | b
按位异或a xor ba ^ ba ^ ba ^ b
按位取反not a~a~a~a
左移a shl ba << ba << ba << b
带符号右移a shr ba >> ba >> ba >> 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

最后

以上就是冷酷电灯胆为你收集整理的二进制位运算的全部内容,希望文章能够帮你解决二进制位运算所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部