Supprimer un message
Raison de suppression du message (envoyée à l'utilisateur)

Voulez vous réellement supprimer ce message?  


zion
Je dois convertir un code simplissime de pascal en PHP:

  1.   function ELFHash(const Str : String) : Cardinal; 
  2. var 
  3.   i : Cardinal; 
  4.   x : Cardinal; 
  5. begin 
  6.   Result := 0
  7.   for i := 1 to Length(Str) do 
  8.   begin 
  9.     Result := (Result shl 4) + Ord(Str[i]); 
  10.     x      := Result and $F0000000; 
  11.     if (x <> 0then 
  12.     begin 
  13.       Result := Result xor (x shr 24); 
  14.     end
  15.     Result := Result and (not x); 
  16.   end
  17. end;


  1.   function GenerateELF($AFile
  2.   { 
  3.     $result = 0
  4.     $i = 0
  5.     $x = 0
  6.     $str = file_get_contents($AFile); 
  7.     for ($i=0$i<strlen($str); $i++) 
  8.     { 
  9.       $chr = $str[$i]; 
  10.       $result = ($result & 0xFFFFFFF) << 4
  11.       $result = ($result + ord($chr)) & 0xFFFFFFFF
  12.       $x = $result & 0xF0000000
  13.       if ($x != 0
  14.         $result = ($result ^ ($x >> 24))  & 0xFFFFFFFF
  15.       $result = (int)($result & (~$x)); 
  16.     } 
  17.     return $result
  18.   }


Et apparemment je me plante qqpart. Déjà avec ce le typage en PHP je rajoute quelques petits & 0xFFFFFFFF pour m'assurer que l'on reste sur 32 bits mais il me manque inévitablement quelque chose ...
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?