Fråga : Beräkna en CRC-16

Jag har inklusive en rutinmässig CRC mig skulle emellertid något liknande för att se att returen att värdera inte i ett heltal formaterar men i hex hur kan jag konvertera?


> för
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
" codeBody " message_size_Upload för class= för Public " (42) som byte Offentlig crc_value = 0 Offentlig bitvalue som byte () Offentlig bitcrc som byte () Offentliga Const som ÄR POLY som heltal = &H8005 Offentlig len_upload som stränger = 80 Offentlig msg_size_Upload som byte = len_upload Fungera CRC_Check_Table_Upload (ByVal msg_size_Upload som heltal) som heltal Dunkelt I som heltal Dunkelt j som heltal Dunkla msg som heltal crc_value = 0 message_size_Upload (0) = 97 message_size_Upload (1) = 140 message_size_Upload (2) = 105 message_size_Upload (3) = 188 message_size_Upload (4) = 51 message_size_Upload (5) = 79 message_size_Upload (6) = 99 message_size_Upload (7) = 92 message_size_Upload (8) = 64 message_size_Upload (9) = 162 message_size_Upload (10) = 19 message_size_Upload (11) = 109 message_size_Upload (12) = 76 message_size_Upload (12) = 48 message_size_Upload (14) = 48 message_size_Upload (15) = 49 message_size_Upload (16) = 55 message_size_Upload (17) = 57 message_size_Upload (18) = 6 message_size_Upload (19) = 76 message_size_Upload (20) = 48 message_size_Upload (21) = 48 message_size_Upload (22) = 49 message_size_Upload (23) = 55 message_size_Upload (24) = 57 message_size_Upload (25) = 56 message_size_Upload (26) = 49 message_size_Upload (27) = 51 message_size_Upload (28) = 69 message_size_Upload (29) = 69 message_size_Upload (30) = 54 message_size_Upload (31) = 129 message_size_Upload (32) = 16 message_size_Upload (33) = 89 message_size_Upload (34) = 62 message_size_Upload (35) = 230 message_size_Upload (36) = 1 message_size_Upload (37) = 213 message_size_Upload (38) = 107 message_size_Upload (39) = 21 message_size_Upload (40) = 82 'kretsar till och med meddelande av byten För I = 0 till msg_size_Upload - 1 msg = (message_size_Upload (40)) msg = (msg << 8) och &HFFFF 'kretsa till och med meddelandet av bitar För j = 0 till 7 Om ((msgXor crc_value) >> 15) > 0 därefter 'skiftar CRCEN bet värderar och jämför med POLY crc_value = ((crc_value << 1) POLY Xor) och &HFFFF Annars crc_value<<= 1 'skifta CRCEN bet värderar crc_value = (crc_value) och &HFFFF Avsluta om msg<<= 1 msg = (msg) och &HFFFF Nästa j Därefter i 'går CRCEN tillbaka värderar i decimal- (numrera), formaterar bitcrc = BitConverter.GetBytes (crc_value) Gå tillbaka (crc_value Xor 0) Avsluta fungerar
" klar "

Svar : Beräkna en CRC-16

Försök något något liknande detta:
1:
BitConverter.ToString (bitcrc)
Andra lösningar  
 
programming4us programming4us