Может кто -нибудь помочь мне понять эти инструкции?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Может кто -нибудь помочь мне понять эти инструкции?

Сообщение Anonymous »

Может кто -нибудь объяснить мне, что мне нужно сделать, чтобы получить правильную ценность здесь? Я знаю C ++ немного, но я совершенно новичок в бинарном смене/смене битов/байтовых, и я не могу понять, что это означает. Значение (hffffffff). < /p>
.e., Hffffffff + H00000001 = H00000000. Он также называется «Rollover» или «wrap». На ПК, если вы «Memcpy» байтовой массивы до 32 -битного целочисленного массива, вам придется обратный байт -заказ с функцией 'htonl' < /p>
< /blockquote>
Человек, который написал это, также включал код Snippet (vb): < /p>

Код: Выделить всё

Declare Function MemCpy& Lib "Kernel32" Alias "RtlMoveMemory" (pDest As Any, pFrom As Any, ByVal wBytes&)
Declare Function htonl& Lib "ws2_32.dll" (ByVal u&)
[...] note: already having '7of8' bytes in array b(0 to 377)
' get check sum complement :
Dim check As Long
MemCpy b(15), check, 4
check = htonl(check)
' compute check sum:
Dim i As Long, v(77) As Long, sum As Currency
MemCpy b(63), v(0), 78 * 4
For i = 0 To 77
sum = sum + htonl(v(i))
If sum > 2147483647@ Then sum = sum – 4294967296@ ' rollover highest bound
If sum < -2147483647@ Then sum = sum + 4294967296@ ' rollover lowest bound
Next i
' final control: adding sum and check should gives 0:
sum = sum + check
If sum > 2147483647@ Then sum = sum – 4294967296@ ' rollover highest bound
If sum < -2147483647@ Then sum = sum + 4294967296@ ' rollover lowest bound
If sum = 0@ Then
[...]
Но я вообще не знаю VB, поэтому я не могу просто перевести с одного языка на другой ...

Подробнее здесь: https://stackoverflow.com/questions/796 ... structions
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»