Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C++] Estrazione bit da un char con operatori bitwise

    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'.
    codice:
    #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();
    
    }
    Ultima modifica di mastiffs92; 27-08-2014 a 15:24

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Prova così

    codice:
            buffer.push_back(f<0);
              f=f<<1;
    e così


    codice:
          for(int i=0; i<buffer.size(); i++) {
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.