PDA

Visualizza la versione completa : [C++] Estrazione bit da un char con operatori bitwise


mastiffs92
27-08-2014, 15:11
Buonasera a tutti ho un problema con questo programma nel file p2.txt sono presenti dei caratteri 're' , nella stampa di buffer non mi ritornano estratti i bit ascii corriposndenti ai caratteri in p2.txt .
Mi riporta i bit dei caratteri al contrario ovvero prima il gruppo di 8 bit di e e poi quell ' altro gruppo di 8 bit di r e no come sono nel file p2.txt nell' ordine corretto 're'.

#include<iostream>
#include<fstream>
#include <stdlib.h>
#include <string.h>
#include <vector>
using namespace std;
int main(){
char f='\0';
vector<int> buffer;
int cnt=0;
ifstream file("p2.txt");
while(file>>f){
//cout << "carattere letto: " << f<<endl;
for(int i=0;i<8;i++){
buffer.push_back(f&1);
f=f>>1;
}
f='\0';
}

for(int i=buffer.size()-1;i>=0;i--) {
cout<<buffer[i];
}
file.close();

}

oregon
27-08-2014, 18:12
Prova cosė



buffer.push_back(f<0);
f=f<<1;


e cosė




for(int i=0; i<buffer.size(); i++) {

mastiffs92
27-08-2014, 22:38
risolto grazie!

Loading