Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Sanya17101999
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 5
1

Перевод натурального числа в двоичную систему

25.09.2016, 16:40. Просмотров 1357. Ответов 6
Метки нет (Все метки)

нужно написать программу, которая переводила бы натуральные числа в двоичную систему, а потом с этими числами что бы выполняла такие действие:
1) "и"
2) Или
3) Или, что исключает
4) Сдвиг влево
5) Сдвиг вправо
6) Возражение

Помогите плиз, напишите весь код пожалуйста, что бы сразу можно было бы запустить рабочую программу, так как мало шарю в программировании, задали на учёбе, а ещё ничего не научили. Заранее спасибо
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2016, 16:40
Ответы с готовыми решениями:

Перевод числа в двоичную систему
Каким циклом можно перевести число из десятичной в двоичную и присвоить переменной это число?...

Перевод числа в двоичную систему
Скажите , что не так в коде? Перевод в 2ичную систему счисления . Получается бесконечным int...

Перевод числа из десятичною в двоичную систему
Надо перевести числа в двоичною систему, я уже делал в Python такое ,там bin(8) и получал нужное,...

Перевод числа в двоичную систему счисления
Написать программу в С++ С КОММЕНТАРИЯМИ!!!: Написать функцию которая заданное натуральное...

Рекурсивный перевод числа в двоичную систему исчисления
#include <iostream> #include <string> using namespace std; void fuck(const int num, string...

6
SpBerkut
Объявлятель переменных
949 / 275 / 276
Регистрация: 24.09.2011
Сообщений: 1,009
Завершенные тесты: 2
25.09.2016, 21:27 2
Лучший ответ Сообщение было отмечено Sanya17101999 как решение

Решение

Ну, как-то так. Код с китайским душком. Возможно, через функторы можно сделать более технично, но я не очень в этом уверен. Проверок на "бинарность" нет.
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <iostream>
using namespace std;
 
typedef unsigned long long ui64;
 
ui64 binDecimalToBinary(unsigned value){
    ui64  result = 0,
                        multiplier = 1;
    while (value){
        result += value%2 * multiplier;
        value /= 2;
        multiplier *= 10;
    }
    return result;
}
 
ui64 binAnd(ui64 A, ui64 B){
    ui64    result = 0,
            multiplier = 1;
    while (A|B){
        result += (A%10)*(B%10)*multiplier;
        multiplier *= 10;
        A /= 10;
        B /= 10;
    }
    return result;
}
 
ui64 binOr(ui64 A, ui64 B){
    ui64    result = 0,
            multiplier = 1;
    while (A|B){
        result += (((A%10)+(B%10))>0)*multiplier;
        multiplier *= 10;
        A /= 10;
        B /= 10;
    }
    return result;
}
 
ui64 binXor(ui64 A, ui64 B){
    ui64    result = 0,
            multiplier = 1;
    while (A|B){
        result += ((A%10)!=(B%10))*multiplier;
        multiplier *= 10;
        A /= 10;
        B /= 10;
    }
    return result;
}
 
ui64 binShiftLeft (ui64 value, unsigned shift){
    while (shift--){
        value *= 10;
    }
    return value;
}
 
ui64 binShiftRight (ui64 value, unsigned shift){
    while (shift--){
        value /= 10;
    }
    return value;
}
 
ui64 binNot (ui64 value){
    ui64    result = 0,
            multiplier = 1;
    while (value){
        result += ((value%10)!=1)*multiplier;
        multiplier *= 10;
        value /= 10;
    }
    return result;
}
 
int main()
{   
    ui64    D1 = 10,
            D2 = 2,
            B1 = binDecimalToBinary(D1),
            B2 = binDecimalToBinary(D2),
            A1 = binNot(B1);
    cout << B1 << endl;
    cout << B2 << endl;
    cout << A1 << endl;
}
1
Sanya17101999
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 5
26.09.2016, 13:43  [ТС] 3
ошибок нету, но в выкидывает просто это и всё, мне нужно так, что бы я вводил число и оно выводило все эти результати изчислений, переделай пожалуйста
0
Миниатюры
Перевод натурального числа в двоичную систему  
SpBerkut
Объявлятель переменных
949 / 275 / 276
Регистрация: 24.09.2011
Сообщений: 1,009
Завершенные тесты: 2
26.09.2016, 14:32 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{   
    ui64 D1, D2, B1, B2;
    cout << "D1 = "; cin >> D1;
    cout << "D2 = "; cin >> D2;
    B1 = binDecimalToBinary(D1),
    B2 = binDecimalToBinary(D2);
    cout << "B1 == " << B1 << endl;
    cout << "B2 == " << B2 << endl;
    cout << "B1 && B2 == " << binAnd(B1,B2) << endl;
    cout << "B1 || B2 == " << binOr(B1,B2) << endl;
    cout << "B1 ^ B2 == " << binXor(B1,B2) << endl;
    cout << "B1 >> 2 == " << binShiftRight(B1,2) << endl;
    cout << "B1 << 1 == " << binShiftLeft(B2,1) << endl;
    cout << "!B1 == " << binNot(B1) << endl;
}
Ссылка на весь код: http://cpp.sh/47lb
1
Изображения
 
Sanya17101999
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 5
26.09.2016, 16:05  [ТС] 5
Спасибо тебе огромнейшее, выручил реально)) только ещё вопрос есть: а можно как-то эту программу на две разделить? я имею ввиду что бы одна программа делала унарные операции, а другая бинарные?
0
SpBerkut
Объявлятель переменных
949 / 275 / 276
Регистрация: 24.09.2011
Сообщений: 1,009
Завершенные тесты: 2
26.09.2016, 16:13 6
Цитата Сообщение от Sanya17101999 Посмотреть сообщение
а можно как-то эту программу на две разделить?
Да хоть на каждую операцию по отдельной программе ваяй. Функции написаны и ты можешь тасовать их по своему усмотрению.
0
Sanya17101999
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 5
26.09.2016, 18:28  [ТС] 7
да я понимаю, просто проблема в том, что я не понимаю, что где)))
0
26.09.2016, 18:28
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2016, 18:28

Перевод целого числа в двоичную систему счисления
Вводится целое число n. Вывести это число в двоичной системе счисления!!...((( как?......

Перевод целого десятичного числа в двоичную систему счисления
Перерыл инет, форум нашел кучу разных вариантов и не одного закончено го :( может у кого есть...

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


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

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

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