2013-05-26 2 views
0

Je connais jusqu'à ce jour que% x impressions dans hexadécimauxopération de décalage avec la sortie hexadécimal

Maintenant, quand j'écris printf("%x", -1<<4), la sortie est fffffff0

Mais quand j'écris printf("%x", 5<<2), la sortie est 14

Pourquoi la seconde affiche-t-elle un nombre décimal?

+1

Quel résultat vous attendiez? –

+0

bien, quand j'utilise% x, au moins la sortie devrait être en hexadécimal – Ceres111

+0

Mais encore une fois, quel résultat attendiez-vous? –

Répondre

0

14 fait partie des caractères hexadécimaux défini, il est juste le résultat de:

étage (20/16) et 20% 16

+0

bien en jeu hexadécimal, je pensais que son 0-9 et A-F – Ceres111

+0

@ Ceres111 et à la fois 1 et 4 sont dans la gamme 0-9. –

+0

@nfroidure ok, je l'ai eu ... vous voulez dire son un quatre et non quatorze – Ceres111

Questions connexes