안녕하세요?
C로된 프로그램을 델파이로 포팅하는 중인데요
제가 재대로 한건지 확인하고 싶어서 이렇게 글올리게 되었습니다
결과가 틀린거보니 뭔가 잘못한거 같긴하고 비트연산자를 사용한 것인데요
---------------C 언어---------------------
if ((0x0001 << rem) & pblobCat->lpb[mok])
---------------델파이-------------------
rem := idxCat mod 8;
mok := idxCat div 8;
pB := PByte(integer(pv^.val.blob.lpb) + mok);
if ((strtoint(inttohex(1,2)) shl rem) and pB^) = idxCat then
C에서는 비교없이 바로 비트연산만으로 짜여졌는데 델파이에서는 =idxCat
가없으면 에러가 나고 있으면 컴파일은 되는데 실행될때 엉뚱한 결과값들이 나와서여..
if 문을 똑같이 바꾸려면 어떻게 해야될는지요?
if Boolean((strtoint(inttohex(1,2)) shl rem) and pB^) then ...
으로 고쳐 주어야 할 것 같습니다.