Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
1069 / 107 / 4
Регистрация: 19.12.2012
Сообщений: 458

Нужен совет по CRC

30.04.2013, 12:16. Показов 2974. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть строка НЕРЕАЛЬНОЙ длины. Нужно посчитать аккуратный CRC.
Есть какая-то самопИсь на синусах и каких-то заумных вычислениях ... но я ей не верю ...
У кого есть примеры классики CRC-16, CRC-24, 32, ... ?! и как к этой теме подобраться?

ЗЫ пожалуйста, только без дополнений в виде dll т.к. все вычисления на стороне клиента ... и я даже не знаю где ...
тема Что такое CRC32 ? пояснений не дала (((
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.04.2013, 12:16
Ответы с готовыми решениями:

Нужен совет
Обращаюсь к знающим господам в надежде на подсказку! В общем я хочу сделать web приложение, но еще слабо знаю spring и hibernate. Как...

Нужен совет
Посоветуйте пожалуйста книгу, которая поможет разобраться в C++. Потому что читал книгу, а там такой бред, надо было использовать не...

Нужен совет
Вот смотрите мне нужно напесать пользовательский интерфейс. Для учебников, планирую поместить 5 учебников мне нужно будет разделить каждый...

3
 Аватар для SlavaRus
1124 / 237 / 37
Регистрация: 15.03.2010
Сообщений: 728
30.04.2013, 14:02
Может чем поможет книга
Вложения
Тип файла: pdf Вычисление CRC.pdf (196.7 Кб, 59 просмотров)
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,710
Записей в блоге: 14
30.04.2013, 14:43
Лучший ответ Сообщение было отмечено как решение

Решение

Вот код:

Кликните здесь для просмотра всего текста

Visual Basic
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
Private Sub CRCinit()
 
       CRC_32_Tab(0) = &H0
       CRC_32_Tab(1) = &H77073096
       CRC_32_Tab(2) = &HEE0E612C
       CRC_32_Tab(3) = &H990951BA
       CRC_32_Tab(4) = &H76DC419
       CRC_32_Tab(5) = &H706AF48F
       CRC_32_Tab(6) = &HE963A535
       CRC_32_Tab(7) = &H9E6495A3
       CRC_32_Tab(8) = &HEDB8832
       CRC_32_Tab(9) = &H79DCB8A4
       CRC_32_Tab(10) = &HE0D5E91E
       CRC_32_Tab(11) = &H97D2D988
       CRC_32_Tab(12) = &H9B64C2B
       CRC_32_Tab(13) = &H7EB17CBD
       CRC_32_Tab(14) = &HE7B82D07
       CRC_32_Tab(15) = &H90BF1D91
       CRC_32_Tab(16) = &H1DB71064
       CRC_32_Tab(17) = &H6AB020F2
       CRC_32_Tab(18) = &HF3B97148
       CRC_32_Tab(19) = &H84BE41DE
       CRC_32_Tab(20) = &H1ADAD47D
       CRC_32_Tab(21) = &H6DDDE4EB
       CRC_32_Tab(22) = &HF4D4B551
       CRC_32_Tab(23) = &H83D385C7
       CRC_32_Tab(24) = &H136C9856
       CRC_32_Tab(25) = &H646BA8C0
       CRC_32_Tab(26) = &HFD62F97A
       CRC_32_Tab(27) = &H8A65C9EC
       CRC_32_Tab(28) = &H14015C4F
       CRC_32_Tab(29) = &H63066CD9
       CRC_32_Tab(30) = &HFA0F3D63
       CRC_32_Tab(31) = &H8D080DF5
       CRC_32_Tab(32) = &H3B6E20C8
       CRC_32_Tab(33) = &H4C69105E
       CRC_32_Tab(34) = &HD56041E4
       CRC_32_Tab(35) = &HA2677172
       CRC_32_Tab(36) = &H3C03E4D1
       CRC_32_Tab(37) = &H4B04D447
       CRC_32_Tab(38) = &HD20D85FD
       CRC_32_Tab(39) = &HA50AB56B
       CRC_32_Tab(40) = &H35B5A8FA
       CRC_32_Tab(41) = &H42B2986C
       CRC_32_Tab(42) = &HDBBBC9D6
       CRC_32_Tab(43) = &HACBCF940
       CRC_32_Tab(44) = &H32D86CE3
       CRC_32_Tab(45) = &H45DF5C75
       CRC_32_Tab(46) = &HDCD60DCF
       CRC_32_Tab(47) = &HABD13D59
       CRC_32_Tab(48) = &H26D930AC
       CRC_32_Tab(49) = &H51DE003A
       CRC_32_Tab(50) = &HC8D75180
       CRC_32_Tab(51) = &HBFD06116
       CRC_32_Tab(52) = &H21B4F4B5
       CRC_32_Tab(53) = &H56B3C423
       CRC_32_Tab(54) = &HCFBA9599
       CRC_32_Tab(55) = &HB8BDA50F
       CRC_32_Tab(56) = &H2802B89E
       CRC_32_Tab(57) = &H5F058808
       CRC_32_Tab(58) = &HC60CD9B2
       CRC_32_Tab(59) = &HB10BE924
       CRC_32_Tab(60) = &H2F6F7C87
       CRC_32_Tab(61) = &H58684C11
       CRC_32_Tab(62) = &HC1611DAB
       CRC_32_Tab(63) = &HB6662D3D
       CRC_32_Tab(64) = &H76DC4190
       CRC_32_Tab(65) = &H1DB7106
       CRC_32_Tab(66) = &H98D220BC
       CRC_32_Tab(67) = &HEFD5102A
       CRC_32_Tab(68) = &H71B18589
       CRC_32_Tab(69) = &H6B6B51F
       CRC_32_Tab(70) = &H9FBFE4A5
       CRC_32_Tab(71) = &HE8B8D433
       CRC_32_Tab(72) = &H7807C9A2
       CRC_32_Tab(73) = &HF00F934
       CRC_32_Tab(74) = &H9609A88E
       CRC_32_Tab(75) = &HE10E9818
       CRC_32_Tab(76) = &H7F6A0DBB
       CRC_32_Tab(77) = &H86D3D2D
       CRC_32_Tab(78) = &H91646C97
       CRC_32_Tab(79) = &HE6635C01
       CRC_32_Tab(80) = &H6B6B51F4
       CRC_32_Tab(81) = &H1C6C6162
       CRC_32_Tab(82) = &H856530D8
       CRC_32_Tab(83) = &HF262004E
       CRC_32_Tab(84) = &H6C0695ED
       CRC_32_Tab(85) = &H1B01A57B
       CRC_32_Tab(86) = &H8208F4C1
       CRC_32_Tab(87) = &HF50FC457
       CRC_32_Tab(88) = &H65B0D9C6
       CRC_32_Tab(89) = &H12B7E950
       CRC_32_Tab(90) = &H8BBEB8EA
       CRC_32_Tab(91) = &HFCB9887C
       CRC_32_Tab(92) = &H62DD1DDF
       CRC_32_Tab(93) = &H15DA2D49
       CRC_32_Tab(94) = &H8CD37CF3
       CRC_32_Tab(95) = &HFBD44C65
       CRC_32_Tab(96) = &H4DB26158
       CRC_32_Tab(97) = &H3AB551CE
       CRC_32_Tab(98) = &HA3BC0074
       CRC_32_Tab(99) = &HD4BB30E2
       CRC_32_Tab(100) = &H4ADFA541
       CRC_32_Tab(101) = &H3DD895D7
       CRC_32_Tab(102) = &HA4D1C46D
       CRC_32_Tab(103) = &HD3D6F4FB
       CRC_32_Tab(104) = &H4369E96A
       CRC_32_Tab(105) = &H346ED9FC
       CRC_32_Tab(106) = &HAD678846
       CRC_32_Tab(107) = &HDA60B8D0
       CRC_32_Tab(108) = &H44042D73
       CRC_32_Tab(109) = &H33031DE5
       CRC_32_Tab(110) = &HAA0A4C5F
       CRC_32_Tab(111) = &HDD0D7CC9
       CRC_32_Tab(112) = &H5005713C
       CRC_32_Tab(113) = &H270241AA
       CRC_32_Tab(114) = &HBE0B1010
       CRC_32_Tab(115) = &HC90C2086
       CRC_32_Tab(116) = &H5768B525
       CRC_32_Tab(117) = &H206F85B3
       CRC_32_Tab(118) = &HB966D409
       CRC_32_Tab(119) = &HCE61E49F
       CRC_32_Tab(120) = &H5EDEF90E
       CRC_32_Tab(121) = &H29D9C998
       CRC_32_Tab(122) = &HB0D09822
       CRC_32_Tab(123) = &HC7D7A8B4
       CRC_32_Tab(124) = &H59B33D17
       CRC_32_Tab(125) = &H2EB40D81
       CRC_32_Tab(126) = &HB7BD5C3B
       CRC_32_Tab(127) = &HC0BA6CAD
       CRC_32_Tab(128) = &HEDB88320
       CRC_32_Tab(129) = &H9ABFB3B6
       CRC_32_Tab(130) = &H3B6E20C
       CRC_32_Tab(131) = &H74B1D29A
       CRC_32_Tab(132) = &HEAD54739
       CRC_32_Tab(133) = &H9DD277AF
       CRC_32_Tab(134) = &H4DB2615
       CRC_32_Tab(135) = &H73DC1683
       CRC_32_Tab(136) = &HE3630B12
       CRC_32_Tab(137) = &H94643B84
       CRC_32_Tab(138) = &HD6D6A3E
       CRC_32_Tab(139) = &H7A6A5AA8
       CRC_32_Tab(140) = &HE40ECF0B
       CRC_32_Tab(141) = &H9309FF9D
       CRC_32_Tab(142) = &HA00AE27
       CRC_32_Tab(143) = &H7D079EB1
       CRC_32_Tab(144) = &HF00F9344
       CRC_32_Tab(145) = &H8708A3D2
       CRC_32_Tab(146) = &H1E01F268
       CRC_32_Tab(147) = &H6906C2FE
       CRC_32_Tab(148) = &HF762575D
       CRC_32_Tab(149) = &H806567CB
       CRC_32_Tab(150) = &H196C3671
       CRC_32_Tab(151) = &H6E6B06E7
       CRC_32_Tab(152) = &HFED41B76
       CRC_32_Tab(153) = &H89D32BE0
       CRC_32_Tab(154) = &H10DA7A5A
       CRC_32_Tab(155) = &H67DD4ACC
       CRC_32_Tab(156) = &HF9B9DF6F
       CRC_32_Tab(157) = &H8EBEEFF9
       CRC_32_Tab(158) = &H17B7BE43
       CRC_32_Tab(159) = &H60B08ED5
       CRC_32_Tab(160) = &HD6D6A3E8
       CRC_32_Tab(161) = &HA1D1937E
       CRC_32_Tab(162) = &H38D8C2C4
       CRC_32_Tab(163) = &H4FDFF252
       CRC_32_Tab(164) = &HD1BB67F1
       CRC_32_Tab(165) = &HA6BC5767
       CRC_32_Tab(166) = &H3FB506DD
       CRC_32_Tab(167) = &H48B2364B
       CRC_32_Tab(168) = &HD80D2BDA
       CRC_32_Tab(169) = &HAF0A1B4C
       CRC_32_Tab(170) = &H36034AF6
       CRC_32_Tab(171) = &H41047A60
       CRC_32_Tab(172) = &HDF60EFC3
       CRC_32_Tab(173) = &HA867DF55
       CRC_32_Tab(174) = &H316E8EEF
       CRC_32_Tab(175) = &H4669BE79
       CRC_32_Tab(176) = &HCB61B38C
       CRC_32_Tab(177) = &HBC66831A
       CRC_32_Tab(178) = &H256FD2A0
       CRC_32_Tab(179) = &H5268E236
       CRC_32_Tab(180) = &HCC0C7795
       CRC_32_Tab(181) = &HBB0B4703
       CRC_32_Tab(182) = &H220216B9
       CRC_32_Tab(183) = &H5505262F
       CRC_32_Tab(184) = &HC5BA3BBE
       CRC_32_Tab(185) = &HB2BD0B28
       CRC_32_Tab(186) = &H2BB45A92
       CRC_32_Tab(187) = &H5CB36A04
       CRC_32_Tab(188) = &HC2D7FFA7
       CRC_32_Tab(189) = &HB5D0CF31
       CRC_32_Tab(190) = &H2CD99E8B
       CRC_32_Tab(191) = &H5BDEAE1D
       CRC_32_Tab(192) = &H9B64C2B0
       CRC_32_Tab(193) = &HEC63F226
       CRC_32_Tab(194) = &H756AA39C
       CRC_32_Tab(195) = &H26D930A
       CRC_32_Tab(196) = &H9C0906A9
       CRC_32_Tab(197) = &HEB0E363F
       CRC_32_Tab(198) = &H72076785
       CRC_32_Tab(199) = &H5005713
       CRC_32_Tab(200) = &H95BF4A82
       CRC_32_Tab(201) = &HE2B87A14
       CRC_32_Tab(202) = &H7BB12BAE
       CRC_32_Tab(203) = &HCB61B38
       CRC_32_Tab(204) = &H92D28E9B
       CRC_32_Tab(205) = &HE5D5BE0D
       CRC_32_Tab(206) = &H7CDCEFB7
       CRC_32_Tab(207) = &HBDBDF21
       CRC_32_Tab(208) = &H86D3D2D4
       CRC_32_Tab(209) = &HF1D4E242
       CRC_32_Tab(210) = &H68DDB3F8
       CRC_32_Tab(211) = &H1FDA836E
       CRC_32_Tab(212) = &H81BE16CD
       CRC_32_Tab(213) = &HF6B9265B
       CRC_32_Tab(214) = &H6FB077E1
       CRC_32_Tab(215) = &H18B74777
       CRC_32_Tab(216) = &H88085AE6
       CRC_32_Tab(217) = &HFF0F6A70
       CRC_32_Tab(218) = &H66063BCA
       CRC_32_Tab(219) = &H11010B5C
       CRC_32_Tab(220) = &H8F659EFF
       CRC_32_Tab(221) = &HF862AE69
       CRC_32_Tab(222) = &H616BFFD3
       CRC_32_Tab(223) = &H166CCF45
       CRC_32_Tab(224) = &HA00AE278
       CRC_32_Tab(225) = &HD70DD2EE
       CRC_32_Tab(226) = &H4E048354
       CRC_32_Tab(227) = &H3903B3C2
       CRC_32_Tab(228) = &HA7672661
       CRC_32_Tab(229) = &HD06016F7
       CRC_32_Tab(230) = &H4969474D
       CRC_32_Tab(231) = &H3E6E77DB
       CRC_32_Tab(232) = &HAED16A4A
       CRC_32_Tab(233) = &HD9D65ADC
       CRC_32_Tab(234) = &H40DF0B66
       CRC_32_Tab(235) = &H37D83BF0
       CRC_32_Tab(236) = &HA9BCAE53
       CRC_32_Tab(237) = &HDEBB9EC5
       CRC_32_Tab(238) = &H47B2CF7F
       CRC_32_Tab(239) = &H30B5FFE9
       CRC_32_Tab(240) = &HBDBDF21C
       CRC_32_Tab(241) = &HCABAC28A
       CRC_32_Tab(242) = &H53B39330
       CRC_32_Tab(243) = &H24B4A3A6
       CRC_32_Tab(244) = &HBAD03605
       CRC_32_Tab(245) = &HCDD70693
       CRC_32_Tab(246) = &H54DE5729
       CRC_32_Tab(247) = &H23D967BF
       CRC_32_Tab(248) = &HB3667A2E
       CRC_32_Tab(249) = &HC4614AB8
       CRC_32_Tab(250) = &H5D681B02
       CRC_32_Tab(251) = &H2A6F2B94
       CRC_32_Tab(252) = &HB40BBE37
       CRC_32_Tab(253) = &HC30C8EA1
       CRC_32_Tab(254) = &H5A05DF1B
       CRC_32_Tab(255) = &H2D02EF8D
 
End Sub
 
'::::::::::: Правый логический сдвиг длинного целого :::::::::::::
 
Function Shr(n As Long, m As Integer) As Long
 
         If (m > 31) Then
            Shr = 0
            Exit Function
         End If
 
         If (n >= 0) Then
         
            Shr = n \ (2 ^ m)
 
         Else
         
           Q& = n And &H7FFFFFFF
           
           Q& = Q& \ (2 ^ m)
           
           Shr = Q& Or (2 ^ (31 - m))
 
         End If
 
End Function
 
'::::::::::::::: Вычислить CRC-код строки ::::::::::::::::::::
 
Public Function CalcCRC(Stri As String) As Long
 
Dim crc As Long
 
       crc = &HFFFFFFFF
 
       For i% = 1 To Len(Stri)
       
           m& = Asc(Mid$(Stri, i%, 1))
           
           n& = (crc Xor m&) And &HFF
       
           crc = CRC_32_Tab(n&) Xor (Shr(crc, 8) And &HFFFFFF)
 
       Next i%
 
       CalcCRC = -(crc + 1)
 
End Function
5
1069 / 107 / 4
Регистрация: 19.12.2012
Сообщений: 458
30.04.2013, 14:58  [ТС]
БОЛЬШОЕ СПАСИБО!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.04.2013, 14:58
Помогаю со студенческими работами здесь

Нужен совет
Здравствуйте. Кто знает. Как можно прижать блок footer к низу экрана не прижимая его другими блоками? С расчетом что больше блоков не...

Нужен совет
Профессионалы, вопрос к Вам! За сколько взять продвижение сайта по основному запросу "двери форпост". Буду благодарен за...

Совет нужен
Здравствуйте, Мы независимый музыкальный лейбл, направленный на издание цифровых релизов во всех крупнейших Мировых музыкальных...

Нужен совет
Всем привет. Нужен совет от знающих людей. Апгрейдить мой системник или же забить на это дело и начать собирать новый? 1)Процессор:...

Нужен совет!
Нужен совет! Задача : на форме находятся Edit1 (по Timer1(каждую секунду) отображает текущее время) и ListBox1(по тому же Timer1...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru