web-dev-qa-db-fra.com

Que signifient les nombres en notation 0x?

Qu'est-ce qu'un 0x préfixe sur un nombre signifie?

const int shared_segment_size = 0x6400;

Cela vient d'un programme en C. Je ne me souviens pas de ce que cela signifie et en particulier de ce que signifie la lettre x.

89
Terry Li

Littéraux commençant par 0x sont des entiers hexadécimaux. (base 16)

Le nombre 0x6400 est 25600.

6 * 16^3 + 4 * 16^2 = 25600

Pour un exemple comprenant des lettres (également utilisé en notation hexadécimale où A = 10, B = 11 ... F = 15)

Le nombre 0x6BF0 est 27632.

6 * 16^3 + 11 * 16^2 + 15 * 16^1 = 27632
24576    + 2816      + 240       = 27632
87
Mysticial

En C et dans les langages basés sur la syntaxe C, le préfixe 0x signifie hexadécimal (base 16).

Ainsi, 0x400 = 4 × (162) + 0 × (161) + 0 × (16) = 4 × ((24)2) = 22 × 28 = 2dix = 1024, ou un K. binaire.

Et ainsi 0x6400 = 0x4000 + 0x2400 = 0x19 × 0x400 = 25K

Vive & hth.,

13

C'est un nombre hexadécimal.

0x6400 se traduit par 4 * 16 ^ 2 + 6 * 16 ^ 3 = 25600

9
knittl

Les nombres commençant par 0x sont hexadécimaux (base 16) .0x6400 représente 25600.

Convertir,

  • multiplier le dernier chiffre fois 1
  • additionner l'avant-dernier chiffre fois 16 (16 ^ 1)
  • ajouter le troisième dernier chiffre fois 256 (16 ^ 2)
  • ajouter quatrième-dernier chiffre fois 4096 (16 ^ 3)
  • ...etc

Les facteurs 1, 16, 256, etc. sont les puissances croissantes de 16.

0x6400 = (0*1) + (0*16^1) + (4*16^2) + (6*16^3) = 25600 

ou

0x6400 = (0*1) + (0*16) + (4*256) + (6*4096) = 25600 
7
Sithu

SIMPLE

C'est un préfixe pour indiquer que le nombre est en hexadécimal plutôt que dans une autre base. Le langage de programmation C l'utilise pour informer le compilateur.

Exemple:

0x6400 Se traduit par 6*16^3 + 4*16^2 + 0*16^1 +0*16^0 = 25600. Quand le compilateur lit 0x6400, Il comprend que le nombre est hexadécimal à l’aide du terme 0x. Habituellement, nous pouvons comprendre par (6400)16 or (6400)8 ou toute base ..

Espoir aidé d'une certaine manière.

Bonne journée,

5
loyola