Форум программистов, компьютерный форум, киберфорум
Наши страницы

Перевод файла в двоичный код - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка в расчетах http://www.cyberforum.ru/cpp-beginners/thread1222230.html
Ребят не могу найти ошибку, место 42метров пишет 28 и т.д. код программы #include <avr/io.h> #include <util/delay.h> #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include...
C++ Не получается распознать символ + или - из string не могу распознать символ + - * / в строке if(array >= '0' and array < '9') { работает }; if(array == '+') { http://www.cyberforum.ru/cpp-beginners/thread1222196.html
Проверить класс. Обмотка электродвигателя при заданном числе параллельных ветвей C++
Доброго всем времени суток!Огромная просьба,кому не очень трудно,посмотрите мой вариант класса и подскажите что я не так сделал.Сам код работает и выдает верный результат.Это фрагмент остальное...
C++ Найти наибольший общий делитель двух чисел
Задание: найти наибольший общий делитель двух чисел. Сам код: #include <iostream> using namespace std; int main() { setlocale(LC_ALL, "Russian"); int a,b,c; cout << "Введите a:";
C++ Разбор двух математических уравнений http://www.cyberforum.ru/cpp-beginners/thread1222171.html
Здравствуйте, уважаемые форумчане! Есть два задания по С++ с математическими формулами. Написать код на С++ для меня не проблема. Запнулся именно на формулах. Хочу уточнить у опытных и...
C++ Где прописывать условие функции ? Запутался с рекурсией окончательно. Помогите ! Если я хочу использовать рекурсию как цикл, где нужно прописывать условие, в самом вызове или в операторах if ? подробнее

Показать сообщение отдельно
alsav22
5429 / 4824 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.07.2014, 04:00
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
string dec_to_bin(int dec)
{
    string bin;
    int b = 0;
    int q = 0;
    
    if (dec != 0)
    {
        while (true)
        {
            q = dec / 2;
            if (q == 0) 
            {
                bin.insert(bin.begin(), '1');
                break;
            }
            b = dec % 2;
            if (b == 0) 
                bin.insert(bin.begin(), '0');
            if (b == 1) 
                bin.insert(bin.begin(), '1');
            dec = q;
        }
    }
    else bin.insert(bin.begin(), '0');
    
    // выравнивание по байту
    unsigned int number_bit = bin.size();
    unsigned int c = (number_bit % 8); 
    if (c != 0)
        for (unsigned int i = 0; i < 8 - c; i++)
            bin.insert(bin.begin(),'0');
    
    return bin;
}
 
int main()
{
    const char* FileNameIn  = "1.txt";
    const char* FileNameOut = "2.txt";
    
    ifstream in(FileNameIn, ios::binary);
    if (!in)
        cout << "Error!" << endl;
    else
    {
        ofstream out(FileNameOut);
 
        unsigned char byte;
        while(in.read((char*)&byte, 1)) // читаем байты из файла
            out << dec_to_bin(byte); // записываем двоичное представление байтов
          
        in.close();
        out.close();
    }
        
    system("pause");
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.