Форум программистов, компьютерный форум, киберфорум
Наши страницы

Калькулятор в двоичной системе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ задание ввести с клав m создает массив http://www.cyberforum.ru/cpp-beginners/thread1193959.html
Ввести с клавиатуры m, создает массив a, размером m. Заполнить случайным образом, создать новый массив который будет содержать все елементы массива a за исключением 0, и вывести один до один после ...
C++ Проверка ответа пользователя на вопрос: "Продолжить программу или завершить?" Программа запросит следующие: Продолжить программу или завершить? Нужно нажать y для "да" или n для "нет". Подскажите, как реализовать данную штуку? Это всё, что у меня получилось, но оно не... http://www.cyberforum.ru/cpp-beginners/thread1193948.html
Удаление vector, list, string C++
Привет! Такая задача. В программе я описал класс Class1. Класс содержит поля стандартных типов, а также поле std::string и std::vector. Также в программе я динамически создаю списки...
C++ Объединение множеств. Некорректная обработка
Подскажите, пожалуйста, почему в 3-ий if не передается значения Set a, Set b Set a; Set b; Set d; Set c; if(choice==1) //âûïîëíåíèå âûáðàííîé îïåðàöèè { ...
C++ Поиск ошибки в fread http://www.cyberforum.ru/cpp-beginners/thread1193935.html
У меня возникла ошибка. Мне нужно прочесть данные с бинарных файлов. Бинарный файл "a.dat" содержит в себе числа '7 0 1 0 1 0 1 0 2 6 2', но по какой-то причине выводит только 7 символ, при попытки...
C++ Команда cd Может написать код команды cd? Или написать такую же по функционалу? Нужно что бы работала в linux. подробнее

Показать сообщение отдельно
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 226
30.05.2014, 21:42  [ТС]
Цитата Сообщение от grikukan Посмотреть сообщение
ИМХО, проще все операции делать в десятичной системе, а потом просто конвертировать...
К сожалению так нельзя, по условию нужно напрямую.

Добавлено через 12 минут
Проблему решил:
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
#include "stdafx.h"
#include <iostream>
#include <string>
#include <cstring>      
 
using namespace std;
 
int main()
{   
    char bvector1[100];
    char bvector2[100];char rezult[100];
        cin >> bvector1 >> bvector2;
    int L1 = strlen(bvector1);
    for(int i = 0; i < L1; i++)
    {
        bvector1[i] -= '0';
    }
    int L2 = strlen(bvector2);
    for(int i = 0; i < L2; i++)
    {
        bvector2[i] -= '0';
    }   
    int i;char carry, sum;
    i = L1 - 1;
    carry = 0;
    while (i >= 0)
    {
       sum = bvector1[i] + bvector2[i] + carry;
       rezult[i--] = sum & 1;
       carry = sum >> 1;
     }
    printf("\n");
    for (i = 0; i < L1; i++)
    printf("%d",(int)rezult[i]);
    cout << "\n";
    system("Pause");
}
Вопрос такой: как реализовать сложение чисел разных разрядов? Например 101010 и 1111. Если я ввожу 101010 и 001111, тогда работает, но как сделать автозаполнение или что-то типа этого?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru