[PHP] printf met 32-bit unsigned hex value

Pagina: 1
Acties:

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Met %x zet die er een - teken voor. Hoe zorg ik ervoor dat de waarde als unsigned in plaats van signed geprint wordt?

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Is er niemand die dit ooit nodig heeft gehad?

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Zoiets?
PHP:
1
<?$interger=-123456;printf("%x",abs(interger));?>

Programmer - an organism that turns coffee into software.


  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Nee, dat is niet hetzelfde.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 09-09 11:02
Ik neem aan dat je het over de 2-complements representatie hebt. In dat geval moet je de absolute waarde inverteren en er 1 bij optellen, wat in de praktijk neerkomt op (in dit geval) 2^32 erbij optellen.

Een voorbeeld voor 8 bits:
code:
1
2
3
4
5
  10 =       00001010
     inverse:    11110101
     inverse+1:  11110110

 -10 = 256 + -10 = 11110110