2017-10-13 19 views

Répondre

1

Le 98 littéral est pas un littéral hexadécimal, il est une décimale littérale représentant une valeur entière de 98. Si vous préfixer avec un préfixe hexadécimal de 0x alors le littéral représente une valeur décimale de 152:

int checksum = 0x98; // which is 152 in base 10 number system 

Les valeurs sont des valeurs, qu'elles soient décimales, hexadécimales, octales ou même binaires literals. En fin de compte, ce sont tous des octets en mémoire. La valeur reste la même et de type int. Seule la représentation de cette valeur peut être manipulée par des manipulateurs de flux ou des littéraux. Extrait d'une référence littérale hexadécimal:

hex-littérale est la séquence de caractères 0x ou la séquence de caractères 0X suivie d'un ou plusieurs chiffres hexadécimaux (0, 1, 2, 3, 4, 5, 6, 7 , 8, 9, a, a, b, b, C, C, D, D, e, e, F, F)

2

Si vous voulez dire que 98 est un nombre hexadécimal, et vous l'écrire dans le code source:

int checksum=0x98; // checksum is going to be 152