L'approche générale consiste à lire le tampon source le plus efficacement possible et à le décaler au besoin pour écrire le tampon de destination.
Vous ne devez pas effectuer d'opérations d'octets, vous pouvez toujours obtenir la lecture de la source long
alignée pour la majeure partie de l'opération en faisant jusqu'à trois octets au début, et en gérant la fin de la même manière car vous ne devriez pas essayer lire au-delà de la longueur du tampon source indiquée. A partir des valeurs lues, vous changez de valeur si nécessaire pour obtenir l'alignement des bits souhaité et assemblez les octets finis pour l'écriture vers la destination. Vous pouvez également faire la même optimisation des écritures à la plus grande taille de mots alignés possible. Si vous explorez la source d'un outil de compression ou d'une bibliothèque qui utilise intensivement des jetons de largeur variable (zlib, MPEG, TIFF et JPEG), vous trouverez probablement un exemple de code traitant une entrée ou tampon de sortie en tant que flux de bits qui auront des idées d'implémentation à prendre en compte.
Et vous voulez faire cela pourquoi? –
@Adam: ça arrive! – SamB
Ya ce que @SamB a dit. Je travaille avec un système de mémoire faible et j'ai des données très compactes. Même si cela n'a pas de sens, j'ai toujours envie de poser la question. – Ryu