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

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

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

Студворк — интернет-сервис помощи студентам
Есть последовательность 01010111101101010101101111011 ( к примеру ), как перевести эту последовательность в ascii коды ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.03.2012, 12:24
Ответы с готовыми решениями:

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

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

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

11
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
29.03.2012, 15:56
Последовательность массивом задается?
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
29.03.2012, 16:03
Цитата Сообщение от 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
Если массив:
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
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
29.03.2012, 16:27
dezdimon, собери биты в байты и приведи к
C++
1
char *
.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
29.03.2012, 16:27
Нет, лучше так:
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  [ТС]
Мне нужно генерировать 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
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  [ТС]
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
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
29.03.2012, 16:47
а ты не пробовал с клавиатуры вводить не букву, а число?
То что ты показал - ввод с клавиатуры cin - это клава, а не твой файл.
твой файл это in , а не cin !!!
C++
1
in >> ch
Вот так надо писать
0
7 / 7 / 1
Регистрация: 26.10.2010
Сообщений: 57
29.03.2012, 16:52  [ТС]
Не знал что можно так считывать 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
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
а ты не пробовал с клавиатуры вводить не букву, а число?
То что ты показал - ввод с клавиатуры cin - это клава, а не твой файл.
твой файл это in , а не cin !!!
C++
1
in >> ch
Вот так надо писать
блин, да, хотел написать in, а написал cin
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.03.2012, 16:52
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru