J'ai un flux de 16 bits, et j'ai besoin d'ajuster les 4 bits les moins significatifs de chaque échantillon. Les nouvelles valeurs sont différentes pour chaque short, mais répétez chaque short X - marquant essentiellement chaque short avec un ID.Méthode la plus efficace pour modifier un flux de données
Y a-t-il des astuces pour faire cela plus rapidement qu'une simple boucle?
Plus de détails Je convertis un fichier d'un format à un autre. Actuellement implémenté avec FILE * mais je pourrais utiliser des API spécifiques à Windows si utile.
[while data remaining]
{
read X shorts from input
tag 4 LSB's
write modified data to output
}
Outre les opérations en vrac, je suppose que je cherchais avis sur la meilleure façon de taper du pied ces 4 derniers bits.
- Décalage à droite 4, décalage à gauche 4, | dans les nouvelles valeurs
- & dans mes bits zéro, puis | dans les 1 bits
- module 16, ajouter une nouvelle valeur
Nous ne win7 de support (32 ou 64) en ce moment, donc le matériel serait tout ce que les gens choisissent pour cela.
Par "flux", vous voulez dire "std :: istream", n'est-ce pas? –
Pouvez-vous donner quelques détails? – ruslik
J'espère que cela répond à vos questions, Billy et ruslik. – Thomas