Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.81/16: Рейтинг темы: голосов - 16, средняя оценка - 4.81
7 / 7 / 1
Регистрация: 26.10.2010
Сообщений: 57
1

Перевод с двоичной системы в ASCII

29.03.2012, 12:24. Просмотров 3133. Ответов 11
Метки нет (Все метки)

Есть последовательность 01010111101101010101101111011 ( к примеру ), как перевести эту последовательность в ascii коды ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.03.2012, 12:24
Ответы с готовыми решениями:

Перевод из двоичной системы в десятичную
Перевод из двоичной системы в десятичную, помогти прошу надо на турбо с++

Перевод чисел из двоичной системы в шестнадцатеричную
Здравствуйте, написал программу для перевода чисел из двоичной системы в шестнадцатеричную (с...

Перевод числа из двоичной системы в десятичную
Помогите написать программу для перевода из 2 в 10. Если число делится на 3, то вывести и результат...

Перевод из двоичной системы счисления в десятичную
Я создал программу, но вот она выдает размерность введенного массива, вместо десятичного числа....

11
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
29.03.2012, 15:56 2
Последовательность массивом задается?
0
3300 / 2681 / 724
Регистрация: 25.03.2012
Сообщений: 9,683
Записей в блоге: 1
29.03.2012, 16:03 3
Цитата Сообщение от dezdimon Посмотреть сообщение
Есть последовательность 01010111101101010101101111011 ( к примеру ), как перевести эту последовательность в ascii коды ?
А последовательность как задана? Это строка? массив?
Вобщем начинай писать программу в таком духе:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
enum bits{
clr=0;
set=1;
};
int main(){
 char data[SIZE];
 bits  bitbuf[SIZE*8];//1,0
 int* cur;
 int i, j;
 loadbitbuf(bitbuf);
 cur=bitbuf;
 for (i=0; i<SIZE; i++){
 data[i]=0;
  for (j=0; j<8; j++){
    data[i]+=(*cur)*(1<<j);
    cur++;
  }
 }
 return 0;
}
Я нигде не ошибся?
1
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
29.03.2012, 16:23 4
Если массив:
C++
1
2
3
4
5
6
7
8
int bin[] = { 0, 1, 0, 1, 0, 1, 1, 1 };
int length = sizeof(binary)/sizeof(int);
int dec = 0;
 
for (int i = 0; i < length; i++)
        dec = dec * 2 + bin[i];
 
char ch = (char)dec;
1
4197 / 1790 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
29.03.2012, 16:27 5
dezdimon, собери биты в байты и приведи к
C++
1
char *
.
0
3300 / 2681 / 724
Регистрация: 25.03.2012
Сообщений: 9,683
Записей в блоге: 1
29.03.2012, 16:27 6
Нет, лучше так:
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
#include <iostream> 
#include <fstream>
#include <time.h>
#define SIZE 10
using namespace std;
enum bits{
clr=0,
set=1
};
void loadbitbuf(bits* bitbuf){
int i;
for (i=0; i<SIZE*8; i++)
   if (rand()%2) bitbuf[i]=set;
   else bitbuf[i]=clr;
}
int main(){
 char data[SIZE];
 bits  bitbuf[SIZE*8];//1,0
 bits* cur;
 int i, j;
 srand(time(NULL));
 loadbitbuf(bitbuf);
 cur=bitbuf;
 for (i=0; i<SIZE; i++){
 data[i]=0;
  for (j=0; j<8; j++){
    data[i]+=(*cur)*(1<<j);
    cur++;
  }
 }
 cout<<"random bits:"<<endl;
 for (i=0; i<SIZE*8; i++)
     cout<<bitbuf[i];
 cout<<endl<<"character symbols:"<<endl;
 for (i=0; i<SIZE; i++)
     cout<<data[i]<<" ";
 cin>>data[0];
 return 0;
}
0
7 / 7 / 1
Регистрация: 26.10.2010
Сообщений: 57
29.03.2012, 16:28  [ТС] 7
Мне нужно генерировать 0 и 1 в файл, потом вытянуть последовательность, и сохранить в файл ( ascii формат ).

С переменными запутался ....

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
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
 
using namespace std; 
 
int main()
{
        /*------Генерация ПВП---------*/
        FILE *PVPFILE;
        PVPFILE = fopen("d:\\pvp.dat", "w+");
 
        int i;
        char pvpin; 
        long int size;
        cout << "Vvedite razmer pvp ";
        cin >> size;
        size = size * 1024; // С Байт в Кбайт
 
        for( i=0; i<size; i++ )
        { pvpin = 0 + rand() % 2;
          fprintf( PVPFILE, "%d", pvpin); 
        }
        /*------------------------*/
 
        fseek( PVPFILE, 0, SEEK_SET); // В начало файла
        
        char rslos[104876];
        int ss;
        for ( i = 0; i<size; i++ )
        { rslos[size] = fgetc(PVPFILE); // Считываем из файлы числа
        }
 
        fclose(PVPFILE);
        return 0;
}
0
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
29.03.2012, 16:33 8
dezdimon, вытягивай:
C++
1
2
3
4
5
6
ifstream in("input.txt");
char ch;
in >> ch;
int binary = atoi(ch);
 
//Потом заполняешь массив
и читаешь мой коммент
0
7 / 7 / 1
Регистрация: 26.10.2010
Сообщений: 57
29.03.2012, 16:44  [ТС] 9
atoi(ch) - ругается на ch, Visual studio

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <string.h>
 
using namespace std; 
 
int main()
{
    ifstream in("d:\\input.txt");
    char ch;
    cin >> ch;
    int binary = atoi(ch);
}
0
3300 / 2681 / 724
Регистрация: 25.03.2012
Сообщений: 9,683
Записей в блоге: 1
29.03.2012, 16:47 10
а ты не пробовал с клавиатуры вводить не букву, а число?
То что ты показал - ввод с клавиатуры cin - это клава, а не твой файл.
твой файл это in , а не cin !!!
C++
1
in >> ch
Вот так надо писать
0
7 / 7 / 1
Регистрация: 26.10.2010
Сообщений: 57
29.03.2012, 16:52  [ТС] 11
Не знал что можно так считывать in >> ch;
Но ошибку выдает... ( на ch, atoi(ch)
'atoi' : cannot convert parameter 1 from 'char' to 'const char *'
0
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
29.03.2012, 16:52 12
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
а ты не пробовал с клавиатуры вводить не букву, а число?
То что ты показал - ввод с клавиатуры cin - это клава, а не твой файл.
твой файл это in , а не cin !!!
C++
1
in >> ch
Вот так надо писать
блин, да, хотел написать in, а написал cin
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.03.2012, 16:52

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Перевод чисел из двоичной системы в десятичную
У меня получается перевести число из двоичный системы в десятичную, если оно одно: int num = 0;...

Перевод из двоичной системы счисления в десятичную
Почему самописная функция long long int From2to10(string s) { long long int r = 0; int i, j...

Перевод из двоичной системы счисления в десятичную
Программа не работает для отрицательных чисел. Помогите найти ошибку. #include &quot;stdafx.h&quot;...

Перевод из двоичной системы счисления в десятичную
Помогите пожалуйста перевести число из 2-ой сс в 10 сс. Буду очень благодарен:)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.