Operació bit a bit: diferència entre les revisions

Contingut suprimit Contingut afegit
Línia 82:
Per exemple, suposem que tenim, en dos registres de la mida d'un byte, a dos dígits hexadecimals (en representació binària de 4 bits cada un), i es vol empaquetar en un sol byte, on els 4 bits superiors és l'hexadecimal més significatiu i els 4 bits inferiors és l'hexadecimal menys significatiu:
 
0000 <span style="color:red"> 0000 1001 </span> <-- Dígit hexadecimal més significatiu (hexadecimal 9)
0000 <span style="color:blue"> 0000 1010 </span> <-- Dígit hexadecimal menys significatiu (hexadecimal A)
 
Per empaquetar en un sol byte, primer cal desplaçar l'hexadecimal més significatiu 4 posicions cap a l'esquerra. (Això es fa amb el desplaçament lògic cap a l'esquerra):
 
<span style="color:red"> 1001 0000</span> 0000 <-- hexadecimal 9, desplaçat 4 bits cap a l'esquerra per posar-lo a la posició correcta dins del byte
 
Després, es fa un OR dels dos valors que contenen els dígits hexadecimals perquè quedin combinats en un sol byte:
 
     0000 <span style="color:blue"> 0000 1010 </span> <-- Hexadecimal menys significatiu A
  OR <span style="color:red"> 1001 0000 </span> 0000 <-- OR amb l'hexadecimal més significatiu 9, el qual ja està en la seva posició
     <span style="color:red"> 1001 </span> <span style="color:blue"> 1010 </span> <-- Byte amb els dos hexadecimals empaquetats (hexadecimal 9A)
 
Ara tenim un byte amb el valor de 1001 1010, el qual té els dos dígits hexadecimals empaquetats.