2016-03-12 1 views
0

Little endian est assez simple quand vous regardez quelque chose comme: 0x8048cc54 -> \x54\xcc\x48\x80. Qu'en est-il de 0x8048cc4 ou 0x8048cc si vous voulez les convertir en octets comment le feriez-vous. Si c'est le mauvais forum pour cela, faites le moi savoir et déplacez-le mal.convertir en little endian avec moins de chiffres

Répondre

1

Cela dépend du conteneur (taille de la mémoire) de vos valeurs. Si (comme dans le premier exemple), la valeur est traitée comme 32 bits, il vous suffit de regarder est « full scope »:

0x8048cc4 == 0x08048cc4 
0x8048cc == 0x008048cc 

D'ici la réponse à convertir endianess est simple ...

+0

tyvm je vais accepter comme réponse quand je peux – samuelk71

+0

De rien. Si vous trouvez la réponse utile, j'apprécierais également un vote positif. – Amit

1

"Endianness" est juste l'ordre dans lequel vous écrivez vos chiffres.

La plupart du monde écrit des choses en big endian; le chiffre le plus significatif vient en premier, en continuant à le moins signficant dernier:

123 = 100 + 20 + 3 (= 1 × 10² + 2 × 10¹ + 3 x 10⁰)

Du point de vue d'un ordinateur, cependant, il est souvent utile de regarder à l'autre extrémité:

321 = 3 + 02 + 001 (= 3 x 10⁰ + 2 × 10¹ + 1 × 10²)

les 'chiffres' d'un certain nombre de un ordinateur est composé des valeurs 0..255 - c'est-à-dire que chaque chiffre est un seul octet. Nous les humains n'ont pas 256 symboles différents pour écrire cette valeur d'octet, donc nous le convertissons de la base 256 à la base 16.

Pour l'écrire en petit boutiste, commencez à l'octet le moins significatif et retirez-le jusqu'à ce que vous manquiez d'octets/chiffres:

0x0848cc4 -> \ XC4 \ X8c \ x84 \ x00

0x8048cc -> \ XCC \ x48 \ x80 \ x00

Hope this helps.