2013-08-03 3 views
5

i récemment commencé à apprendre C++ et de réunion et je suis tombé sur LOBYTE quand je démonte quelque chose dans l'IDA et ont visionné la fonction dans le code pseudo.LOBYTE C++ .Veuillez expliquer plus?

Lecture du msdn: http://msdn.microsoft.com/en-us/library/windows/desktop/ms632658(v=vs.85).aspx

encore je ne understand.What est un octet de poids faible? Quelqu'un peut-il m'en dire plus sur ce à quoi il sert et un exemple de son utilisation en C++?

+0

Je pense peut-être lié à [endianess] (http://teaching.idallen.com/cst8281/10w/notes/110_byte_order_endian.html). Cependant je ne suis pas sûr. Je veux dire, pourquoi Microsoft n'utiliserait-il pas le bon mot? – Jocke

+3

Cette question a reçu une réponse. Veuillez le fermer en marquant la réponse. Cliquez sur la case à cocher à gauche du message qui vous a aidé. –

Répondre

18

LOBYTE et HIBYTE avec HIWORD et LOWORD, sont des macros utilisées pour extraire un mot ou un octet à partir d'un plus grand ensemble d'octets/mots.

À titre d'exemple, supposons que vous avez les deux octets 24 FF, qui font un mot. Vous avez cette valeur stockée dans un unsigned short ushortvar dans votre programme. Vous pouvez maintenant extraire l'un des deux octets en utilisant HIBYTE(ushortvar) ou LOBYTE(ushortvar). Le premier sera égal à 0x24, et ce dernier sera égal à 0xff. Vous pouvez faire la même chose avec un unsigned int pour extraire un des mots à l'aide LOWORD respectivement HIWORD.

+0

je vois, merci pour la réponse rapide. – Imaginarys

Questions connexes