unsigned int SEED_KEY;
  unsigned int KEY = 0x0000;
  unsigned int seedMask = 1980;
  unsigned char SEED_Parameter = 0x02;
  unsigned char operations;
  
  SEED_KEY = 39926;
  operations = 37;
  KEY = seedMask;
    for( i=0; i<operations; i++)
    {
      if( KEY && 0x8000 )
      {
        KEY <<= 1;
  KEY ^= SEED_KEY;
      }
      else
 KEY <<= 1;
    }
    SEED_KEY = KEY;
    printf("\nOUTPUT NO : %05u", SEED_KEY);
    getch();
위 소스를 아래와 같이 변환했는데요... 결과가 다르게 나오네요..
 for i:=0 to operation do
 begin
   if (v_KEY and $8000)=1 then
   begin
     v_KEY:= v_KEY shl 1;
     v_KEY:= v_KEY or v_seed;
   end
   else
     v_KEY:= v_KEY shl 1;
   showmessage(inttostr(v_key));
 end;
 v_seed := v_KEY;
제가 실수한게 있는지요? 아시는분 답변 부탁 드립니다 
			 
	
	
    
    
	
	
    
    
    
$8000과 and연산해서 1이 나올 경우는 전무하죠...
<!--CodeS-->
for i:=0 to operation - 1 do // <<
begin
if (v_KEY and $8000) <> 0 then // <<
......
end;
<!--CodeE-->
^^ 항상 즐코하세요...