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

Перевод чисел в двоичную систему счисления - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
desperateX
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 15
07.04.2013, 21:28     Перевод чисел в двоичную систему счисления #1
Помогите найти ошибку :
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
#include<iostream>
using namespace std;
#include<conio.h>
void inp(int n, int k=0, int i=0) {
    cout<<"vvedit chuslo: ";
    cin>>n;
    char str[80];
    int a=n;
    while (a!=0) {
        a/=2;
        k++;
    }
    while (n!=0) {
        str[i]=n%2;
        if (n%2==0) str[i]='0'; else str[i]='1';
            n=n/2;
        i++;
    }
    for (int b=0; b<k/2; b++) {
        int c=str[b];
        str[i]=str[k-1-b];
        str[k-1-b]=c;
    }}
void out (char str[80], int k) {
    int q=k;
    while (q>0) {
        str[k]='1';
        if (q%3==0) cout<<" ";
        cout<<str[q];
        q--;
    }}
void main() {
    char str[80];
    int n=0, k=0, i=0;
    inp (n, k, i);
    out (str, k);
    getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2013, 21:28     Перевод чисел в двоичную систему счисления
Посмотрите здесь:

C++ Перевод дробных чисел из десятичной в двоичную систему счисления
Перевод целого числа в двоичную систему счисления C++
C++ Перевод целого десятичного числа в двоичную систему счисления
C++ Перевод чисел из двоичной системы счисления в систему счисления кратной степеням двойки и обратно
C++ Перевод в двоичную систему счисления
Перевод букв и чисел в двоичную систему счисления C++
C++ Перевод в двоичную систему счисления и запись результата в массив
Перевод из десятичной в двоичную систему счисления C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SummerRain
 Аватар для SummerRain
325 / 324 / 17
Регистрация: 16.12.2012
Сообщений: 544
07.04.2013, 22:43     Перевод чисел в двоичную систему счисления #2
исправил
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
#include<iostream>
#include<conio.h>
 
using namespace std;
 
void inp(int n, int& k, int i, char* str) {
    cout<<"vvedit chuslo: ";
    cin>>n;
    //char str[80];
    int a=n;
    while (a!=0) {
        a/=2;
        k++;
    }
    while (n!=0) {
        //str[i]=n%2;
        if (n%2==0) 
            str[i]='0'; 
        else str[i]='1';
        n=n/2;
        i++;
    }
    //for (int b=0; b<k/2; b++) { // исправил, только разворачивать массив не надо
    //    char c=str[b];
    //    str[b]=str[k-1-b];  // было str[i]=str[k-1-b];
    //    str[k-1-b]=c;
    //}
}
 
void out (char str[80], int k) {
    int q=k;
    int size = 4; // может пробелы лучше ставить через каждые 4 цифры? Т.к. байты разделяются на тетрады по 4 байта
    // но конечно можно и оставить триады
    //str[k]='1';    // зачем это?
    for (int i = 0; i < size - q%size && q%size!=0; ++i)  // достраиваем наше число ноликами, но можно, конечно, убрать это
        cout<<"0";
    while (q>0) {
        if (q%size==0&&q!=k) cout<<" ";   // проверка q!=k убирает первый пробел, если длина числа кратна size
        cout<<str[q - 1];
        q--;
    }
}
 
void main() 
{
    char str[80];
    int n=0, k=0, i=0;
    inp (n, k, i, str); // надо передавать массив в функцию, т.к. он не глобальный
    out (str, k);
    system("PAUSE>0");  // как альтернатива getch();
}
desperateX
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 15
07.04.2013, 23:00  [ТС]     Перевод чисел в двоичную систему счисления #3
Цитата Сообщение от SummerRain Посмотреть сообщение
исправил
Спасибо очень!
Yandex
Объявления
07.04.2013, 23:00     Перевод чисел в двоичную систему счисления
Ответ Создать тему
Опции темы

Текущее время: 02:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru