Форум программистов, компьютерный форум CyberForum.ru

Перевод файла в двоичный код - 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 <math.h> #include <avr/pgmspace.h>
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
Здравствуйте, уважаемые форумчане! Есть два задания по С++ с математическими формулами. Написать код на С++ для меня не проблема. Запнулся именно на формулах. Хочу уточнить у опытных и разбирающихся в математике, правильно ли я понимаю. Первое задание. Не совсем понятно, что делать с первым уравнением, которое равно нулю. Т.е. если С < 0 (например -10), тогда вне зависимости какие будут...
SFML Подлючение библиотеки sfml 2.0 sjlj к дефолтному компилятору mingw sjlj code::blocks 13.12 x32 Напишите, что неверно. 1. Новый пустой проект, потому что в code::blocks 13.12 не функционирует заявленное создание готового sfml проекта. 2. Project Build options...: 2.1. Global: 2.1.1. Compiler settings --> #defines: sfml_dynamic (прописано строчными буквами) 2.1.2. Search directories : c:\program files (x86)\sfml-2.0 sjlj gcc mingw dw2\include 2.2. Debug: 2.2.1. ... подробнее

Показать сообщение отдельно
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 675
Завершенные тесты: 1
08.07.2014, 20:01     Перевод файла в двоичный код
Цитата Сообщение от Bretbas Посмотреть сообщение
хочу файл преобразовать в последовательность чисел
Ну я же сказал, что это и так последовательность чисел. Перевод в символы только займёт время. Как я и думал, тебе не нужны символы. Если хочешь смотреть последовательность бит в файле, то лучше написать прогу, типа блокнота, в бинарном режиме(хотя они уже вроде есть). Для архиваторов нужно использовать битовые операции.

Вот тебе пример вывода значений бит файла, упор на биты:

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
unsigned char bayt;
 
FILE*file=fopen("file_name","rb");
 
while(!feof(file))
{
    fread(&bayt,1,1,file);//считываем очередной байт из файла
 
    if((bayt>>7)==1)//Выводим первый бит
        printf("1");
    else
         printf("0");
 
 
    if(((bayt>>6)&1)==1)//Выводим второй бит
        printf("1");
    else
         printf("0");
 
    if(((bayt>>5)&1)==1)//Выводим третий бит
        printf("1");
    else
         printf("0");
 
    if(((bayt>>4)&1)==1)//Выводим четвёртый бит
        printf("1");
    else
         printf("0");
 
    if(((bayt>>3)&1)==1)//Выводим пятый бит
        printf("1");
    else
         printf("0");
 
    if(((bayt>>2)&1)==1)//Выводим шестой бит
        printf("1");
    else
         printf("0");
 
    if(((bayt>>1)&1)==1)//Выводим седьмой бит
        printf("1");
    else
         printf("0");
 
    if((bayt&1)==1)//Выводим восьмой бит
        printf("1");
    else
         printf("0");
 
    printf("\n");//все 8 бит очередного байта вывели, переходим на новую строку
}
Всё довольно лаконично. А вот преобразовывать в символы...это страшно
 
Текущее время: 03:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru