package ais ;public class CRC16{
public int value ; public CRC16 ()
{
value = 0 ;
} public void update ( byte[] aByte )
{
int a , b ;
for(int i=0;i<aByte.length;i++)
{
a = ( int ) aByte[i] ;
for ( int count = 7 ; count >= 0 ; count-- )
{
a = a << 1 ;
b = ( a >>> 8 ) & 1 ;
if ( ( value & 0x8000 ) != 0 )
{
value = ( ( value << 1 ) + b ) ^ 0x1021 ;
}
else
{
value = ( value << 1 ) + b ;
}
}
value = value & 0xffff ;
}
}
还有一段程序:catch ( ClassNotFoundException ex )
{
ex.printStackTrace () ;
}
catch ( SQLException ex )
{
ex.printStackTrace () ;
}
catch ( ParseException ex )
{
ex.printStackTrace () ;
}
catch ( IOException ex )
{
ex.printStackTrace () ;
}
public int value ; public CRC16 ()
{
value = 0 ;
} public void update ( byte[] aByte )
{
int a , b ;
for(int i=0;i<aByte.length;i++)
{
a = ( int ) aByte[i] ;
for ( int count = 7 ; count >= 0 ; count-- )
{
a = a << 1 ;
b = ( a >>> 8 ) & 1 ;
if ( ( value & 0x8000 ) != 0 )
{
value = ( ( value << 1 ) + b ) ^ 0x1021 ;
}
else
{
value = ( value << 1 ) + b ;
}
}
value = value & 0xffff ;
}
}
还有一段程序:catch ( ClassNotFoundException ex )
{
ex.printStackTrace () ;
}
catch ( SQLException ex )
{
ex.printStackTrace () ;
}
catch ( ParseException ex )
{
ex.printStackTrace () ;
}
catch ( IOException ex )
{
ex.printStackTrace () ;
}
package ais;public class CRC16 { public int value ; //定义一个公共的int型的成员变量 public CRC16 () //定义一个无参的构造方法
{
value = 0 ; //将value赋值为0
} public void update ( byte[] aByte ) //定义一个无返回值的公共的update方法, 传一个字节数组
{
int a , b ; //定义局部变量 a ,b
for(int i=0;i <aByte.length;i++) //循环字节数组
{
a = ( int ) aByte[i] ; //将字节数组中的每一个字节强制转换成int型,并赋值给a
for ( int count = 7 ; count >= 0 ; count-- ) //按7到0逐一递减循环
{
a = a<<1 ; //将a 向左移动1位
b = ( a >>> 8 ) & 1 ; //a按拉右移8位, 左边空出的位以0填充.
if ( ( value & 0x8000 ) != 0 ) //如果value按位与0x8000不等于0
{
value = ( ( value <<1 ) + b ) ^ 0x1021 ; //将value按位左移一位, 并加上b的值.然后再按位异或0x1021
}
else //否则
{
value = ( value << 1 ) + b ; //将value按位左移一位, 并加上b的值.
}
}
value = value & 0xffff ; //将value的值按位与0xffff之后赋值给value
}
}
}
{
ex.printStackTrace () ; //打印出异常信息
}
catch ( SQLException ex ) //捕捉SQL异常
{
ex.printStackTrace () ; //打印出异常信息
}
catch ( ParseException ex ) //捕捉到类型转换异常, 解释错误
{
ex.printStackTrace () ; //打印出异常信息
}
catch ( IOException ex ) //捕捉到流异常
{
ex.printStackTrace () ; //打印出异常信息
}