Signed und Unsigned Integer

Psychokiller

Mitglied
Hallo,

ich habe eine frage. :)

Und zwar habe ich einmal diese Zahl

3593834944

und einmal

-701132352


jetzt müsste ich irgendwie aus der Zahl 3593834944 die Zahl -701132352 machen und weis nicht wie. :S

Das ganze hat irgendwas mit signed und unsigned variablen zu tun aber da kenn ich mich nicht wirklich mit aus.

Wenn ich sprintf('%u', -701132352) mache bekomme ich 3593834944 aber ich brauche es halt genau andersrum. :(

Hoffe mir kann jemand helfen.


Mit freundlichen Grüßen

Psycho
 
Moin,

wozu brauch man denn sowas :eek:

Probiers mal so:
Code:
sprintf('-%d', ~[dein_unsigned_integer]+1);

Obs so ganz koscher ist, weiss ich net...Fachleute haben da sicher fundiertere Vorschläge :-(

zum Testen:
Code:
<pre>
<?php
  for($i=0;$i<10;++$i)
  {
    $x=rand(0,2147483647);
    $y=sprintf('%u',-$x);
    $z=sprintf('%d', ~-$y)+1;
    echo '<hr/>'.(-$x).' -&gt; '.$y;
    echo '<br/>'.($y).' -&gt; '.$z;    
  }
?>
</pre>
 
Super danke dir für den code ;)

Das ganze brauche ich da bei einem Programm bestimmte Datein mit der einen Zahl gespeichert werden aber mit der anderen Zahl angesprochen werden über den Sinn kann ich auch nichts sagen. ^^


MfG

Psycho
 
Zurück