es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Lea el archivo de texto 0 y 1 como binario en Qt.

Quiero leer un archivo de texto que contiene 0 y 1 en binario, considera este ejemplo:

textfile.txt:

001001100101
010100011100
100000110001
001111110101
100010110101
111010100100
011011000110

Quiero leer esta secuencia de 0 y 1 en binario o leerla y convertirla. Si consideramos la primera línea “001001100101”, quiero convertirla en decimal 613 y luego, con un campo de bits o algo similar, verificar cada bit de cada número que se leyó. La única forma de hacer esto es leer línea por línea y luego analizarla como una cadena de texto para verificar cada cadena dividida con “1” o “0” y encontrar el valor real. Creo que hay una manera sencilla para este problema.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para leer un archivo de texto que contiene datos binarios en C++, puedes utilizar las corrientes de entrada/salida de la biblioteca estándar y el contenedor bitset de la biblioteca .

    Aquí tienes un ejemplo de código que lee los datos binarios del archivo de texto y los convierte a decimal:

    #include <iostream>
    #include <fstream>
    #include <bitset>
    
    int main() {
        std::ifstream ifs("textfile.txt");
        std::string line;
    
        while (ifs >> line) {
            std::bitset<12> bits(line); // suponiendo que cada línea contiene 12 dígitos binarios
            int valor_decimal = bits.to_ulong();
            std::cout << "Binario: " << bits.to_string() << " | Decimal: " << valor_decimal << "\n";
    
            // haz lo que necesites con el valor decimal y el bitset
        }
    
        return 0;
    }
    

    En este código, el ifstream lee el archivo de texto línea por línea en la variable de tipo string “line”. Luego, cada línea se convierte en un contenedor bitset con 12 bits (suponiendo que esta es la longitud de cada línea en el archivo de texto) y se utiliza el método to_ulong() para convertir el bitset a decimal.

    A continuación, puedes utilizar el valor decimal y el bitset para realizar un procesamiento adicional.

    ¡Espero que esto te sea de ayuda!

Comments are closed.