按位操作符只可用于int类型,其它类型都会转化位int类型在操作,并且只有数值右端的低5位才右用(因为2^5=32)

<<  左移位操作符,低位补零

>>  右移位操作符,有符号数高位补1,无符号数高位补0

>>  java专用右移位操作符;无任正负,都在高位插入0(linux 下负数用>>>在高位补1)

//: object/Shifting.java

package object;
import java.util.*;
import static net.util.Print.*; public class Shifting{
public static void main(String[] args){
int n1 =-4;
print("n1<<2 = "+Integer.toBinaryString(n1<<2));
print("n1<<2 = "+Integer.toBinaryString(n1>>2));
print("n1<<2 = "+Integer.toBinaryString(n1>>>2));
print("n1<<2 = "+(n1>>>2));
}
}/* output:
n1<<2 = 11111111111111111111111111110000
n1<<2 = 11111111111111111111111111111111
n1<<2 = 111111111111111111111111111111
n1<<2 = 1073741823
*///~

移位操作符 << >> >>>的更多相关文章

  1. Java 逻辑运算符、位运算符、移位操作符 总结(Java 学习中的小记录)

    Java 逻辑运算符.位运算符.移位操作符  总结     作者:王可利(Star·星星) 逻辑运算符,表格如下: 解析逻辑运算符表: 1.与 (&) 特点:两个都为真的时候,结果为真.两个为 ...

  2. 【关于Java移位操作符&按位操作符】

    一.java按位运算符(操作符) 这段时间偶尔看一下源码,会发现有很多很基础的java知识在脑海中已经慢慢的淡成不常用记忆,于是打算捡起来一些. 按位运算符是来操作整数基本数据类型中的单个“比特”(b ...

  3. C语言的移位操作符及位运算

    C语言的移位操作符 位移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算.位移位运算符分为左移和右移两种,均为双目运算符.第一运算对象是移位对象,第二个运算对象是所移的二进制位数. 位 ...

  4. ISO/IEC 9899:2011 条款6.5.7——按位移位操作符

    6.5.7 按位移位操作符 语法 1.shift-expression: additive-expression shift-expression    <<    additive-ex ...

  5. java二进制表示形式与移位操作符

    java二进制表示形式 java中数字的二进制表示形式称为"有符号的二进制补码",下面先介绍原码,反码,补码. 编码 计算方法 原码 用最高位表示符号位,'1'表示负号,'0'表示 ...

  6. Java中的移位操作符

    记住所有的移动位数,针对的都是补码来讲的,所以要先将十进制整数转换成补码后,然后再来进行移位操作 移位操作 还要注意类型的约束条件,例如int,移动范围是0-31位,所以看补码只能看最后五位,这才是有 ...

  7. java移位操作符

    <<:左移操作符,右边补0,相当于乘二乘二... >>:右移操作符,左边补符号位(正数补0,负数补1),相当于除二除二... >>>:无符号右移,左边补0,相 ...

  8. java移位操作符注意的问题

    如果对char,byte或者short类型的数值进行移位处理,那么在移位进行之前,他们会被转为int类型, 并且所得到的结果也是一个int型. 若对long类型的数值进行处理所得到的结果也是long. ...

  9. Java中有趣的移位操作!彻底弄懂各个移位操作符的使用方式

    << <<: 左移运算,左移几位就补几个0 >> >>: 右移运算,为算术右移 如果数字为正数时,移位后在前面补0 如果数字为负数时,移位后在前面补1 ...

随机推荐

  1. 【leetcode】 Merge Intervals

    Merge Intervals Given a collection of intervals, merge all overlapping intervals. For example,Given  ...

  2. JDK JRE JVM的关系

    JVM:Java Virtual Machine的缩写,即Java虚拟机 JRE:Java Runtime Environment的缩写,即Java运行环境 JDK:Java Development ...

  3. koa的洋葱圈模型

    拿以下这段代码为例: const Koa = require('koa'); const app = new Koa(); // x-response-time app.use(async (ctx, ...

  4. on条件与where条件的区别

    数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户. 在使用left jion时,on和where条件的区别如下: 1. on条件是在生成临时表时使用的条 ...

  5. js的this到底是什么意思

    首先确定一点,this在声明时确定不了,在执行时才知道指向的谁!!! call() , apply(),bind()  方法的用法 比如下面一个例子: function fn(name,age){ a ...

  6. Neural Networks and Deep Learning(week2)Logistic Regression with a Neural Network mindset(实现一个图像识别算法)

    Logistic Regression with a Neural Network mindset You will learn to: Build the general architecture ...

  7. PHP 日志专题

    PHP堆栈跟踪(php stack trace) PHP message: PHP Stack trace: PHP message: PHP . {main}() PHP message: PHP ...

  8. cmd 命令 添加端口

    cmd 添加端口:netsh firewall add portopening tcp 45625 "telnet"

  9. Varish 缓存

    varish 缓存 2013年06月17日,Varnish Cache 3.0.4 发布,为目前最新版本. varish是以内存作为共享容器的:内存的大小决定了它的缓存容量.相对于主要以硬盘为存储的s ...

  10. [C++]数组与指针[二维数组与指针]