易截截图软件、单文件、免安装、纯绿色、仅160KB

java实现循环左移和右移的简单算法

 byte a=112,用程序实现,将其循环左移三位和右移三位。
112的二进制原码:0111 0000
112循环左移3位后的二进制码:1000 0011
112循环右移3位后的二进制码:0000 1110
先将循环左移的程序代码告诉大家:
public class TestCircle{
 public static void main(String args[]){
  byte x=112;
  System.out.println((byte)(x<<3|x>>5));
 }
}
程序的输出结果是-125,它的原码为1111 1101,补码为1000 0011(正好是112循环左移三位后的数字)
再看循环右移的程序代码:
public class TestCircle{
 public static void main(String args[]){
  byte x=112;
  System.out.println((byte)(x>>3|x<<5));
 }
}
程序的输出结果是14,他的原码、补码相同都是0000 1110(正好是112循环右移三位后的数字)
总结:对于一个数据类型长度为L的数据n,对其进行循环左移m位(或右移m位),只需将数据n左移(或右移)m位的结果和数据n右移(或左移)L-m位的结果进行或运算,再将或运算的结果强制转换为原类型即可。


相关文档:

java中 最常用的String 的用法

String : 字符串类型
一、构造函数
String(byte[ ] bytes):通过byte数组构造字符串对象。
String(char[ ] value):通过char数组构造字符串对象。
String(Sting original):构造一个original的副本。即:拷贝一个original。
String(StringBuffer buffer):通过StringBuffer数组构造字符串对象。
例如:
byte[] b = ......

java中对date相关操作

String startTime, String endTime;
Date start = null;
Date end = null;
Date startTimeStamp = null;
Date endTimeStamp = null;

try {

SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
......

关于c#和java中数组的比较

 java中使用二维 数组
ognNf_v
public class Array2D...{
m @EvM)y0e2r
s
    public static void main(String[] args)...{JAVA中文站社区门户 ~j!lSR ^ z5bR5O
        int myInt[][]=new int[5][10];
@XH3ao\
        ......

Solaris下java package的编译与运行

这几天遇到了java的package问题(这种问题只是在cmd命令行模式下会遇到,如果用eclipse就不会有这种问题),把java中的package编译运行的问题总结一下,作为备忘。
    首先,如果你有两个类:
   (1)A.java
        import edu.ustc.*;
  &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号