/**
* 功能:
* 位运算符,原码、反码、补码规则:
* 1.二进制的最高位是符号位:0表示正数,1表示负数
* 2.正数的原码、反码、补码都一样
* 3.负数的反码=它的原码符号位不变,其他位取反
* 4.负数的补码=它的反码+1
* 5.0的反码,补码都是0
* 6.java没有无符号数,换言之,java中的数都是有符号的
* 7.在计算机运算时候,都是以补码的方式来运算的
*
* 位运算规则:
* 按位与&:两位全为1,结果为1
* 按位或|:两位有一个为1,结果为1
* 按位异或^:两位一个为0,一个为1,结果为1
* 按位取反~:1->0,0->1
*
* 算术右移:地位溢出,符号位不变,并用符号位补溢出的高位
* 算术左移:符号位不变,低位补0
* 逻辑右移:低位溢出,高位补0
*
* 作者:徐守威
*/
package com.xushouwei;
public class T10 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=1>>2;
int b=-1>>2;
int c=1<<2;
int d=-1<<2;
int e=3>>>2;
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("c="+c);
System.out.println("d="+d);
System.out.println("e="+e);
System.out.println(~2);
System.out.println(2&3);
System.out.println(2|3);
System.out.println(~-5);
System.out.println(13&7);
System.out.println(5|4);
System.out.println(-3^3);
}
}
运行结果:
a=0
b=-1
c=4
d=-4
e=0
-3
2
3
4
5
5
-2
位运算,算术、逻辑运算详解-java篇的更多相关文章
-
面向接口编程详解-Java篇
相信看到这篇文字的人已经不需要了解什么是接口了,我就不再过多的做介绍了,直接步入正题,接口测试如何编写.那么在这一篇里,我们用一个例子,让各位对这个重要的编程思想有个直观的印象.为充分考虑到初学者,所 ...
-
【Java集合】LinkedList详解前篇
[Java集合]LinkedList详解前篇 一.背景 最近在看一本<Redis深度历险>的书籍,书中第二节讲了Redis的5种数据结构,其中看到redis的list结构时,作者提到red ...
-
bt协议详解 DHT篇(上)
bt协议详解 DHT篇(上) 最近开发了一个免费教程的网站,突然产生了仔细了解bt协议的想法,这篇文章是bt协议详解系列的第三篇,后续还会写一些关于搜索和索引的东西,都是在开发这个网站的过程中学习到的 ...
-
第三节:带你详解Java的操作符,控制流程以及数组
前言 大家好,给大家带来带你详解Java的操作符,控制流程以及数组的概述,希望你们喜欢 操作符 算数操作符 一般的 +,-,*,/,还有两个自增 自减 ,以及一个取模 % 操作符. 这里的操作算法,一 ...
-
超全详解Java开发环境搭建
摘自:https://www.cnblogs.com/wangjiming/p/11278577.html 超全详解Java开发环境搭建 在项目产品开发中,开发环境搭建是软件开发的首要阶段,也是必 ...
-
「跬步千里」详解 Java 内存模型与原子性、可见性、有序性
文题 "跬步千里" 主要是为了凸显这篇文章的基础性与重要性(狗头),并发编程这块的知识也确实主要围绕着 JMM 和三大性质来展开. 全文脉络如下: 1)为什么要学习并发编程? 2) ...
-
Protocol Buffer技术详解(Java实例)
Protocol Buffer技术详解(Java实例) 该篇Blog和上一篇(C++实例)基本相同,只是面向于我们团队中的Java工程师,毕竟我们项目的前端部分是基于Android开发的,而且我们研发 ...
-
bt协议详解 基础篇(下)
bt协议详解 基础篇(下) 最近开发了一个免费教程的网站,产生了仔细了解bt协议的想法,所以写了这一篇文章,后续还会写一些关于搜索和索引的东西,都是在开发这个网站的过程中学习到的技术,敬请期待. 1 ...
-
RocketMQ源码详解 | Producer篇 &#183; 其二:消息组成、发送链路
概述 在上一节 RocketMQ源码详解 | Producer篇 · 其一:Start,然后 Send 一条消息 中,我们了解了 Producer 在发送消息的流程.这次我们再来具体下看消息的构成与其 ...
随机推荐
-
iOS开发-- 利用AVPlayer播放远程音乐和视频
一.简单的播放音乐和视频,播放视频的工具栏需要自己写 二.利用老师封装的框架实现视频播放 链接:http://pan.baidu.com/s/1hrEKlus 密码:8e7g
-
Binding的源与路径
1.把控件作为Binding的源 例子:拖动Slider,输入框中的值也会跟着改变,或在输入框中输入数值,滑动条也会自动移动 <Window x:Class="把控件作为Binding ...
-
数据库与SQL语言
数据库(DB) :长期储存在计算机中.有组织.可共享的数据的集合. 特点:(1)数据按一定的数据模型组织.描述和储存:(2)较小的冗余度:(3)数据独立性较高:(4)易扩展:(5)可共享(不同用户可按 ...
-
【Dubbo源码学习】负载均衡算法(2)-轮询算法的实现
@Overrideprotected <T> Invoker<T> doSelect(List<Invoker<T>> invokers, URL ur ...
-
redis哨兵集群
Sentinel 哨兵 修改src下的sentinel.conf文件 , 配置端口 :port:随便 daemonize yes 配置主服务器的ip 和端口 我们把监听的端口修改成7000,并且 ...
-
模仿CountDownLatch类自定义倒时计时器
简介 这里模仿CountDownLatch类自定义到时计时器,利用AQS模板中的尝试获得共享和释放共享 1.MyCountDownLatch package com.jacky; import com ...
-
How to make MySQL handle UTF-8 properly
To make this 'permanent', in my.cnf: [client] default-character-set=utf8 [mysqld] character-set-serv ...
-
js 中常用到的封装方法
/** * 获取URL参数 */ function getQueryString(name) { var reg = new RegExp("(^|&)" + name + ...
-
【Spring实战】—— 11 通过AOP为特定的类引入新的功能
如果有这样一个需求,为一个已知的API添加一个新的功能. 由于是已知的API,我们不能修改其类,只能通过外部包装.但是如果通过之前的AOP前置或后置通知,又不太合理,最简单的办法就是实现某个我们自定义 ...
-
java算法面试题:有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数 按值的降序排序,如果值相同则按键值的字母顺序
package com.swift; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; publi ...