Загрузка данных


#include <iostream>
#include <fstream>
#include <windows.h>
using namespace std;

// функция выводит двоичное представление числа заданной длины (в битах)
void printBinary(long num, int bits, ostream& out)
{
    for (int i = bits - 1; i >= 0; i--)
    {
        int bit = (num >> i) & 1;
        out << bit;
    }
}

int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    setlocale(LC_ALL, "Russian");

    long num;
    cin >> hex >> num;

    unsigned char high = (num >> 8) & 0xFF;
    unsigned char low  = num & 0xFF;

    short sum = high + low;

    cout << "Двоичное число: ";
    printBinary(num, 32, cout);
    cout << endl;

    cout << "Сумма байтов:   ";
    printBinary(sum, 16, cout);
    cout << endl;

    ofstream ftxt("number.txt");
    printBinary(num, 32, ftxt);
    ftxt.close();

    ofstream fbin("sum.txt");
    printBinary(sum, 16, fbin);
    fbin.close();

    return 0;
}