Met %x zet die er een - teken voor. Hoe zorg ik ervoor dat de waarde als unsigned in plaats van signed geprint wordt?
Is er niemand die dit ooit nodig heeft gehad?
Zoiets?
PHP:
1
| <?$interger=-123456;printf("%x",abs(interger));?> |
Programmer - an organism that turns coffee into software.
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:
Een voorbeeld voor 8 bits:
code:
1
2
3
4
5
| 10 = 00001010
inverse: 11110101
inverse+1: 11110110
-10 = 256 + -10 = 11110110 |