Poursuivant ma précédente question Why I cannot derive from long?type long, déplacement vers la gauche et les opérations Décalage droit
J'ai trouvé un problème intéressant.
Première étape:
4294967296 & 0xFFFFFFFF00000000
Résultat: 4294967296.
Étape deux.
4294967296 & 0x00000000FFFFFFFF
Résultat: 0
Aha, donc ici je suppose que 4.294.967.296 == 0xFFFFFFFF
Vérifions
(long)0x00000000FFFFFFFF
Résultat: 4294967295. Fail.
double contrôle Let
4294967296 >> 32
Résultat: 1. Fail.
La seule explication est que parce que j'utilise long où un peu de bits est réservé pour le signe. En C j'utiliserais unsigned long. Que pensez-vous les gars?
Un nombre qui ressemble à ... 6 en décimal ne peut pas égaler un nombre qui ressemble à. ..F dans hex. On est pair et on est impair! – AakashM