class crc
{
public static int get_CRC(byte[] buf)
{
int crc = 0;
int i;
for (int index = 0; index != buf.length; ++index) {
for (i = 0x80; i != 0; i >>>= 1) {
if ((crc & 0x8000) != 0) {
crc <<= 1;
crc ^= 0x1021;
} else {
crc <<= 1;
}
if ((buf[index] & i) != 0) {
crc ^= 0x1021;
}
}
}
return crc;
}
public static void main
(String[] args
) {
System.
out.
println(get_CRC
(buf.
getBytes())); }
}
Y2xhc3MgY3JjCnsKcHVibGljIHN0YXRpYyBpbnQgZ2V0X0NSQyhieXRlW10gYnVmKQp7CglpbnQgY3JjID0gMDsKCWludCBpOwoJZm9yIChpbnQgaW5kZXggPSAwOyBpbmRleCAhPSBidWYubGVuZ3RoOyArK2luZGV4KSB7CgkJZm9yIChpID0gMHg4MDsgaSAhPSAwOyBpID4+Pj0gMSkgewoJCQlpZiAoKGNyYyAmIDB4ODAwMCkgIT0gMCkgewoJCQkJY3JjIDw8PSAxOwoJCQkJY3JjIF49IDB4MTAyMTsKCQkJfSBlbHNlIHsKCQkJCWNyYyA8PD0gMTsKCQkJfSAKCQkJaWYgKChidWZbaW5kZXhdICYgaSkgIT0gMCkgewoJCQkJY3JjIF49IDB4MTAyMTsKCQkJfQoJCX0KCX0KCXJldHVybiBjcmM7Cn0KcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykKewoJU3RyaW5nIGJ1ZiA9ICJhYu++iCI7CglTeXN0ZW0ub3V0LnByaW50bG4oZ2V0X0NSQyhidWYuZ2V0Qnl0ZXMoKSkpOwp9Cn0=