Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 13.12.2019
Сообщений: 26
1

Вывести двоичное число наоборот

26.01.2020, 12:39. Показов 1241. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
char* funkcja(int liczba)
{
    char* tab = new char[sizeof(int) + 1]{};
 
    int i = 0;
    int x;
 
    while (liczba) //kiedy bedzie zerem - stop
    {
        tab[rozmiar] = liczba % 2 + '0';
        liczba >>= 1;
        i++;
 
        cout << tab[rozmiar] % 2;
 
        
 
 
    }
Здравствуйте. Не могу развернуть битовое число, как допустим, после while получается код "011011", мне нужно, чтобы после этого оно развернуло цифры и получилось "110110". И также нужна помощь с выписанием этого всего.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.01.2020, 12:39
Ответы с готовыми решениями:

Вывести двоичное число наоборот
while (liczba) { tab = liczba % 2 + '0'; liczba &gt;&gt;= 1; i++; if (liczba &amp; 2 ==...

Вывести двоичное число, следующее за заданным
Дано двоичное число. Выведите следующее за ним по порядку. Входные данные Ввод содержит строку...

Вывести двоичное число в обратном порядке
Вывести двоичное число в обратном порядке ???????/// while(number!=0) { res=number%2;...

Вывести на экран зеркально (наоборот) число любой длины
https://www.hackerrank.com/contests/lesson-6/challenges/challenge-941/copy-from/1302128605 Помогите...

6
2105 / 1192 / 496
Регистрация: 11.10.2018
Сообщений: 6,000
26.01.2020, 12:49 2
Используйте reverse().
https://ru.cppreference.com/w/... hm/reverse
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
26.01.2020, 13:06 3
Цитата Сообщение от ZabinerMx Посмотреть сообщение
char* tab = new char[sizeof(int) + 1]{};
Маловато памяти выделяешь. sizeof считает в байтах.
Цитата Сообщение от ZabinerMx Посмотреть сообщение
cout << tab[rozmiar] % 2;
Это глупости. И что такое этот rozmiar?
Может быть так
C++
1
2
3
4
5
6
7
8
void funkcja(int liczba)
{
    while (liczba) 
    {
        cout << liczba % 2;
        liczba >>= 1;
    }
}
И ни надо столько "воздуха" в коде. Только затрудняет чтение.
0
0 / 0 / 0
Регистрация: 13.12.2019
Сообщений: 26
26.01.2020, 15:23  [ТС] 4
Хорошо, исправил. Но как все-таки развернуть двоичный код?
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
26.01.2020, 15:57 5
Цитата Сообщение от ZabinerMx Посмотреть сообщение
Но как все-таки развернуть двоичный код?
Объясни толком, что тебе нужно.
0
0 / 0 / 0
Регистрация: 13.12.2019
Сообщений: 26
26.01.2020, 16:06  [ТС] 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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
 
#define rozmiar 32
 
using namespace std;
 
char* funkcja(int liczba)
{
    char* tab = new char[sizeof(int) + 100]{};
 
    int i = 0;
    
    int x;
 
    while (liczba)
    {
        tab[rozmiar] = liczba % 2 + '0';
        liczba >>= 1;
        i++;
         
 
        if (liczba & 2 == 1)
        {
 
            tab[rozmiar] = '1';
 
        }
 
 
        if (liczba & 2 == 0)
        {
 
            tab[rozmiar] = '0';
 
        }
 
        cout << tab[rozmiar];
        
 
    }
        
        return tab;
    
}
 
    int main()
    {
     int a;
 
    
     cout << "Prosze podac liczbe: " << endl;
     cin >> a;
 
     funkcja(a);
 
    
 
     return 0;
    }
Вот полный код программы. Она превращает число с десятичной системы в бинарную. Допустим, возьмем 54, оно мне выдает "011011", но правильный код на самом деле "110110", то есть его нужно развернуть, а я не знаю как это сделать, так как пытался многими способами
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.01.2020, 16:24 7
Цитата Сообщение от ZabinerMx Посмотреть сообщение
liczba
Что это за набор букв, что это?

Добавлено через 24 секунды
Цитата Сообщение от ZabinerMx Посмотреть сообщение
C++
1
#define rozmiar 32
Что это?

Добавлено через 1 минуту
Цитата Сообщение от ZabinerMx Посмотреть сообщение
char* tab = new char[sizeof(int) + 100]{};
есть же std::vector<char> или std::string

Кроме того есть std::bitset<>
0
26.01.2020, 16:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2020, 16:24
Помогаю со студенческими работами здесь

Преобразовать строку, содержащую произвольную последовательность нулей и единиц (двоичное число), в целое число
Помогите пожалуйста с заданием Написать функцию, которая преобразует строку, содержащую...

Двоичное число + строки
Определить является ли введенная с клавиатуры строка двоичным числом? Не могу понять как...

Шестнадцатиразрядное двоичное число
Добрый день.Помогите, как решать? П.5.18.Правил Запрещено размещать задания и решения в виде...

перевернуть двоичное число
Нужно ввести число от 1 до 32 бит, указать количество бит, а затем перевернуть требуемое количество...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru