网站首页 > java教程 正文
什么是 ^ 操作?
^ 是一种位运算符,叫“异或”,运算逻辑是:相同为0,不同为1。
举例:0^1 = 1,1^1 = 0
位运算符还有:与&、或 |、非 ~
与&:a & b 时,只有a、b都为1,结果才是1,否则结果为0。
或 | :a | b 时,a、b只要有一个为1,那么结果就是1,否则为0。
非 ~ :~a 时,a为0则结果是1;a为1则结果是0。
什么是源码、反码、补码?
原码:最左边一位表示这个数的正负,0代表正,1代表负,后面是它的有效数字。
反码:最左边符号位0代表正,1代表负;后面的有效数字,正数的原码和反码一样,负数的反码是原码数字的取反。
补码:最左边符号位0代表正,1代表负;后面的有效数字,正数的补码和原码一样,负数的补码是反码+1。
什么是 >> 操作?
>> 是右移运算符,num >> 1,相当于num除以2
20的二进制是10100,20 >> 1,结果是01010,即10。
与之对比的是 << 左移操作符, num << 1,相当于num乘以2。
20<<1,结果是101000,即40。
什么是 >>> 操作?
>>> 是无符号右移操作符,对于正数而言,>> 和 >>> 效果一样;对负数而言,先要计算其补码,再右移,高位补0。
负数的无符号右移要复杂一些,因为负数在内存中是以补码的形式存在:
-2原码:10000000 00000000 00000000 00000010
-2反码:11111111 11111111 11111111 11111101
-2补码:11111111 11111111 11111111 11111110
11111111 11111111 11111111 11111110 >>>1 即 01111111 11111111 11111111 11111111
所以,-2 >>> 1的结果并不是 -1 或 1 [捂脸],而是 2147483647 !
与之对应的是无符号左移操作符 <<< 。
如果能给您带来帮助,欢迎关注、收藏 [谢谢]
猜你喜欢
- 2024-10-21 java培训教程分享:java基础运算符
- 2024-10-21 JAVA快速入门——算数运算符(java的算术运算)
- 2024-10-21 “全栈2019”Java第十八章:一元运算符
- 2024-10-21 第三章:Java运算符、表达式练习(java运算符和表达式程序题)
- 2024-10-21 Java编程思想:使用 Java 运算符(java?:运算符)
- 2024-10-21 「Java」运算符优先级(java运算符优先级由高到低)
- 2024-10-21 都这年头了不会还有人不知道「java」运算符吧?
- 2024-10-21 学习笔记——java基本语法(运算符「算数运算符」)
- 2024-10-21 【java】运算符基础 【java】运算符基础 #运算符
- 2024-10-21 「第9节」java运算符知识拓展:简捷运算符
你 发表评论:
欢迎- 07-21如何将 iPhone 中的联系人导出到 Excel/CSV?
- 07-21sql查询的字段数据中有逗号。放到csv文件会分开,如何解决?
- 07-21在 WebAPI 里生成 csv zip 文件(webapi怎么发布在iis上)
- 07-21如何把csv格式转换成Excel格式(csv格式怎么转换)
- 07-21如何将高程导出为XYZ或CSV高程点(如何将高程数据导入cad)
- 07-21使用python把csv汇总成excel(python怎么将csv文件中的列存入列表)
- 07-21解决PHP导出CSV文件中文乱码问题(php导出excel文件)
- 07-21使用vba将Excel 文件转成 CSV 文件
- 最近发表
-
- 如何将 iPhone 中的联系人导出到 Excel/CSV?
- sql查询的字段数据中有逗号。放到csv文件会分开,如何解决?
- 在 WebAPI 里生成 csv zip 文件(webapi怎么发布在iis上)
- 如何把csv格式转换成Excel格式(csv格式怎么转换)
- 如何将高程导出为XYZ或CSV高程点(如何将高程数据导入cad)
- 使用python把csv汇总成excel(python怎么将csv文件中的列存入列表)
- 解决PHP导出CSV文件中文乱码问题(php导出excel文件)
- 使用vba将Excel 文件转成 CSV 文件
- python爬虫25 | 爬取的数据怎么保存?CSV了解一下
- MySQL 导出数据(mysql 导出数据 判断成功)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)