![]() |
|
|
#34 | |
|
Senior Member
|
Там числа нужно было вводить в десятичном представлении по три разряда на число, т.е. 0x85 = 113.
Вот новый вариант, где можно hex'ами побайтно писать: Код:
string="010500060001"
cnt=${#string}
let 'cnt -= 2'
crc=0xFFFF
for i in `seq 0 2 $cnt`; do
crc=$(( crc ^ 0x${string:$i:2} ))
for j in `seq 0 7`; do
c=$(( crc >> 1 ))
if [ $(( crc & 1 )) = 1 ]; then
let 'c ^= 0xA001'
fi
crc=$c
done
done
printf "0x%04X" "$crc"
echo
Цитата:
__________________
Россия навсегда! Последний раз редактировалось uni; 19.06.2014 в 23:24. |
|
|
|
|
| Здесь присутствуют: 2 (пользователей: 0 , гостей: 2) | |
|
|