java位运算符详解
java中位运算符主要有:按位与&、按位或|、按位非~、按位异或^。
在使用时,需要将运算数都转换为二进制再进行运算,若为负数则使用补码表示。
二、位运算符使用方式
1、按位与&
eg:计算7&-5的结果
第一步:byte中的二进制
7的二进制
被除数 除数 商 余数
7 2 3 1
3 2 1 1
1 2 0 1
7的二进制为:00000111
被除数 除数 商 余数
5 2 2 1
2 2 1 0
1 2 0 1
-5的二进制为:10000101
-5的补码为: 11111010 + 1 11111011
11111011
00000011——>对应十进制的3
②、按位或|
使用规则:全0为0,否则为1;
eg:byte位的 2|-6
2的二进制位: 0000 0010
-6的二进制位:1000 0110
-6的补码: 1111 1010
运算结果: 1111 1010
计算原码: 1000 0110
相当于十进制位的:-6
③、按位非~
使用规则:遇0则1,遇1则0;
eg:~-6
-6的二进制位:1000 0110
-6的补码: 1111 1010
计算结果: 0000 0101
相当于十进制:5
注意:按位非是单目运算符。
④、按位异或^
使用规则:相同位0,否则为1;
eg:2^-6
2的二进制位: 0000 0010
-6的二进制位:1000 0110
-6的补码: 1111 1010
计算结果: 1111 1000
原码: 1000 1000
相当于十进制位:-8;
三、位运算的意义
二进制运算符,包括位运算符和移位运算符,使程序员可以在二进制基础上操作数字,可以更有效的进行运算,
并且可以以二进制的形式存储和转换数据,是实现网络协议解析以及加密等算法的基础。
java位运算符详解相关推荐
- Java 位运算符详解
文章目录 Java 位运算符详解 前情提要: 一.简介 二.如何区分 &,|,^ 是逻辑运算符还是位运算符? 三.例子 按位与 & 按位或 | 按位异或 ^ 按位取反 ~ 左移 < ...
- Java位运算符详解(移位、位与、或|、非~、异或^)
位运算符 位运算是对操作数以二进制为单位进行的操作和运算,运算结果为整数.位运算符包括:"&"."|"."~"."^&qu ...
- 位运算符Java与详解_java位运算符详解
java位运算符详讲 一.位运算符分类 java中位运算符主要有:按位与&.按位或|.按位非~.按位异或^. 在使用时,需要将运算数都转换为二进制再进行运算,若为负数则使用补码表示.二. ...
- 一篇搞定位运算——java位运算详解
java位运算详解 前言 一.位运算符 &:按位与 |:按位或 ~:按位非 ^:按位异或 <<:左位移运算符 >>:右位移运算符 <<<:无符号右移运 ...
- java 异或 排序_Java的位运算符详解实例——与()、非(~)、或(|)、异或(^)...
位运算符主要针对二进制,它包括了:"与"."非"."或"."异或".从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两 ...
- Java千问:Java语言位运算符详解
很多编程语言都有位运算符,Java语言也不例外.在Java语言中,提供了7种位运算符,分别是按位与(&).按位或(|).按位异或(^).取反(~).左移(<<).带符号右移(> ...
- Java移位运算符详解实例——左移位运算符、带符号的右移位运算符
移位运算符也针对二进制的"位",它主要包括:左移位运算符(<<).右移位运算符(>>>).带符号的右移位运算符(>>). 1.左移运算符 ...
- Java的位运算符详解——与()、非(~)、或(|)、异或(^)
位运算符主要针对二进制,它包括了:"与"."非"."或"."异或".从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两 ...
- 位运算符详解(与,或,非,异或)
位运算符主要是以二进制规则进行运算 1.与(&)运算符 使用规则:两个二进制操作数对应位同为1 结果位 才为1,其余情况为0: 例如:整数 a = 15 整数 b = 127 计算:(a ...
最新文章
- 实战 | 哪个瞬间让你突然觉得CV技术真有用?
- (七)使用jedis连接单机和集群(一步一个坑踩出来的辛酸泪)
- 【PC工具】常用USB转串口芯片CH340G,驱动安装有可能遇到的问题及解决办法
- excel批量更改超链接_Excel函数教程第23课:快速批量插入产品图片超链接,提高效率...
- linux fedora yum安装docker-ce
- 工作223:状态管理里面取值
- zabbix 3.0 监控windows 部署
- MySql、PowerDesigner、JDBC 的关系
- makeObjectsPerformSelector 方法的用法
- asynDBCenter(修改)
- scala中的apply方法与unapply方法
- Jetson Nano 读取 GPS数据(TTL转 USB)
- python 管理windows客户端_Python管理Windows进程
- MD5密码破解原理和网站
- RTI路由服务入门手册
- iOS 视图,动画渲染机制探究
- 计算机应用基础评分标准及评分细则,《计算机应用基础》评分标准
- SDH原理--2.SDH信号的帧结构
- U8 数据库服务器和应用服务器 分离后出现 登陆系统管理 远程组件初始化 失败 解决方案!
- IT职场新人碰到的几个常见误区
热门文章
- C语言正则替换字符串,C语言正则表达式详解 regcomp() regexec() regfree()用法详解
- 【考研英语语法】现在进行时习题
- vim 复制粘贴 详解
- Custom Shapes/Combin Shapes/合并图形 in PowerPoint 2010
- pinia的简单用法
- sealfs 一个世界冠军要开始写文件存储了
- python 主线程 等待 子线程 知乎_[Python] 知乎多线程爬虫
- 苹果x屏幕出现一条绿线_部分用户反映苹果iPhone 12屏幕出现划痕|显示器|手机|显示屏...
- java for循环创建对象_for循环创建对象
- 深度学习(Deep Learning),自然语言处理(NLP)及其表达(Representation)