Konwersja kodu z C na Pascal

0

Witam wszystkich,

Mam nastepujacy problem. Otoz mam pewnien algorytm w jezyku C ktory musze przerobic na jezyk Delphi czyli Pascal. Ponizej zamieszczam kod w jezyku C:

unsigned char *p;
unsigned long sum = 0;

sum += ((unsigned short)p)++;
sum += (unsigned short) (unsigned char) p;

Bardzo bylbym wdzieczny za kazda podpowiedz jak to powinno wygladac w Pascal'u.

Z gory dzieki za pomoc

Pozdrawiam

0

c2pascal zrobi sam

0

Nie zrobil :(

0
var
  p: pbyte; //wzglednie ^byte;

const
  sum: cardinal = 0

sum = sum + PWord(p)^;
Inc(PWord(p)^);

sum = sum + Word(PByte(p)^);
0

Witam,

Dzieki za odpowiedz, probowalem juz tego wczesniej i nie dzialalo - alogorytm Delphi dawal inny rezultat niz algorytm w C. Instrukcja ((unsigned short)p)++ nie dziala prawidlowo. Np jesli p po kastowaniu wynosi 10 to instrukcja ++ powinna dac 11, ale nie daje.

Natomiast:

(unsigned short)p = (unsigned short)p + 1;

daje 11.

0

Moj blad, w C++ operacja *x ma priorytet nizszy niz x++, zatem:

sum += *((unsigned short*)p)++;

powinno raczej odpowiadac:

sum = sum + PWord(p)^;
Inc(PWord(p));

1 użytkowników online, w tym zalogowanych: 0, gości: 1