qq:2535279

Use the operators "<<", ">>", which statements are true?
  A. 0000 0100 0000 0000 0000 0000 0000 0000<<5 gives
  1000 0000 0000 0000 0000 0000 0000 0000
  B. 0000 0100 0000 0000 0000 0000 0000 0000<<5 gives
  1111 1100 0000 0000 0000 0000 0000 0000
  C. 1100 0000 0000 0000 0000 0000 0000 0000>>5 gives
  1111 1110 0000 0000 0000 0000 0000 0000
  D. 1100 0000 0000 0000 0000 0000 0000 0000>>5 gives
  0000 0110 0000 0000 0000 0000 0000 0000
  翻译
  使用"<<"和 ">>"操作符的哪些陈述是对的。
  答案 A,C        www.javaedu.com.cn 
  解析 Java的移位操作符一共有三种,分别是”>>”,”>>>”,”<<”,执行的操作分别是有符号右移,无符号右移,左移,有符号右移的意思是说移入的最高位和原最高符号位相同,无符号右移是移入位始终补零,左移时最低位始终补零,最高位被舍弃。移位操作符另一个非常值得注意的特点是其右操作数是取模运算的,意思是说对于一个int型数据而言,对它移位32位的结果是保持不变而非变成零,即:a>>32的结果是a而不是0,同理,对long型数是对右操作数取64的模,a>>64==a;还有一点需要注意的是移位操作符”>>>”只对int型和long型有效,对byte或者short的操作将导致自动类型转换,而且是带符号的。