Java移位操作符

1、问题背景

   以下代码运行的结果为:

   A、0       B、16

   C、32      D、64

/**
 *
 */
package com.you.model;

/**
 * @author Administrator
 *
 */
public class Right
{

	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		int number = 32;
		int subNum = number >> 32;
		System.out.println(subNum);

	}

}

2、问题分析

   移位操作符右边的参数是要先进行模32运算,并且二进制中8位是一个循环,number >> 32跟number >> 0等价的,故打印结果:32

3、问题结果

   32

Java移位操作符,布布扣,bubuko.com

时间: 2024-11-03 20:57:51

Java移位操作符的相关文章

java移位操作符注意的问题

如果对char,byte或者short类型的数值进行移位处理,那么在移位进行之前,他们会被转为int类型, 并且所得到的结果也是一个int型. 若对long类型的数值进行处理所得到的结果也是long. 如果对byte或者short值进行这样的右移(>>>=)运算,得到的可能是不正确的结果,他们会被转成int类型, 然后被截断,赋值给原来的类型. public class Test { /** * @param args */ public static void main(String[

理解java移位运算符

  移位运算符操作的对象就是二进制的位,可以单独用移位运算符来处理int型整数.  运算符       含义       例子       << 左移运算符,将运算符左边的对象向左移动运算符右边指定的位数(在低位补0) x<<3 >> "有符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数.使用符号扩展机制,也就是说,如果值为正,则在高位补0,如果值为负,则在高位补1. x>>3 >>> "无符

你所不知道的,Java 中操作符的秘密?

在 Java 编程的过程中,我们对数据的处理,都是通过操作符来实现的.例如,用于赋值的赋值操作符.用于运算的运算操作符等.用于比较的比较操作符,还包括逻辑操作符.按位操作符.移位操作符.三元操作符等等.操作符的种类很多,用法也各不相同,下面让我们一起来看看 Java 的各类操作符中,一些值得我们特别注意的知识点. 赋值操作符 对于赋值操作,相信大家都玩的特别熟,例如为基本数据类型赋值, int love = 521; 在「对象漫谈」中,我们知道了基本数据类型存储在堆栈中,而不是 new 出来的.

java移位运算符详解[转]

java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和>>>(无符号右移). 1. 左移运算符 左移运算符<<使指定值的所有位都左移规定的次数. 1)它的通用格式如下所示: value << num num 指定要移位值value 移动的位数. 左移的规则只记住一点:丢弃最高位,0补最低位 如果移动的位数超过了该类型的最大位数,那么编译器会对移动的位数取模.如对int型移动33位,实际上只移动了332=1位. 2)运算规则 按

java移位运算符详解

java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和>>>(无符号右移).1.左移运算符左移运算符<<使指定值的所有位都左移规定的次数.1)它的通用格式如下所示:value << numnum 指定要移位值value 移动的位数.左移的规则只记住一点:丢弃最高位,0补最低位如果移动的位数超过了该类型的最大位数,那么编译器会对移动的位数取模.如对int型移动33位,实际上只移动了332=1位. 2)运算规则按二进制形式把所有的

Java移位运算符 “&lt;&lt;” 作用及详解

左移运算符(<<) 基本用法 将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0). 例:a = a << 2 将a的二进制位左移2位,右补0, 左移1位后a = a *2; 若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2. 举例以及困惑 给出下面的程序,大家可以猜一猜结果是什么? public class MainClass { public static void main(String[] args) { long i = 1L <<

java移位运算符实验程序:&lt;&lt;(左移)、&gt;&gt;(带符 号右移)和&gt;&gt;&gt;(无符号右移)

public class txs { static void leftbit(){ int i;               //整型长度为32位                                                                                          //位 int num=0xFFFFFFE;  //1111 1111 1111 1111 1111 1111 1110      //28 for(i=0;i<28;i++

移位操作符

移位操作符操作运算对象是 位(bit) 它处理的数据类型只能是 整数类型(int) 先大概看一下图,了解它是怎么移动的,下面会解释规则 移位的时候关注两点,  1.移动的方向 2.空缺位置的填补形式. "有符号"左移位操作符(<<)  将二进制数据左移(在低位补0). int i = 12448; System.out.println(Integer.toBinaryString(i<<5)); /* 将i的二进制表示 11000010100000 * 向左移动

java基础--操作符

1.操作符 在Java中操作符有以下几类: 算术运算符 关系操作符 逻辑运算符 位操作符 赋值操作符 三元操作符 1.1算术运算符 常见的操作符有:+,-,*,/,%,++,-- 1.1.1基本的加 减 乘 除 public class HelloWorld { public static void main(String[] args) { int i = 10; int j = 5; int a = i+j; int b = i - j; int c = i*j; int d = i /j;