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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Тимкин Николай
2 / 2 / 0
Регистрация: 11.11.2013
Сообщений: 63
#1

Системы счисления 2 и 16, выполнить операцию сложение - C++

21.01.2014, 15:13. Просмотров 431. Ответов 3
Метки нет (Все метки)

Помогите пожалуйста, если возможно, то с объяснением.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2014, 15:13     Системы счисления 2 и 16, выполнить операцию сложение
Посмотрите здесь:

Сложение чисел 11-ричной системы счисления - C++
Всем привет, нужно произвести операции сложения и вычитания чисел в одиннадцатиричной системе счисления. Допустим есть массив...

Числа по основанию 2 и 10. Выполнить операцию умножения - C++
Числа по основанию 2 и 10. Выполнить операцию умножения? Вообщем она работает! Но минус слишком большая и очень сложно объяснять. Как ее...

Числа по основанию 10 и 16. Выполнить операцию сложения - C++
Здравствуйте,пмогите/подскажите,как выполнить задание :Числа по основанию 10 и 16. Выполнить операцию сложения. Имеется программа для...

Числа по основанию 2 и 16. Выполнить операцию умножения - C++
Добрый день,товарищи!)нужна ваша помощь в задании с "переводом числа по основанию 2 и 16. Выполнить операцию умножения. " Для целых чисел...

Числа по основанию 8 и 4. Выполнить операцию деления - C++
Числа по основанию 8 и 4. Выполнить операцию деления. Добавлено через 4 часа 38 минут Помогите пожалуйста, я знаю алгоритм, но не...

Выполнить операцию транспонирования прямоугольной матрицы - C++
Выполнить операцию транспонирования прямоугольной матрицы A (m, n), m не равно n, не выделяя дополнительный массив для хранения результата.

Выполнить операцию транспонирования прямоугольной матрицы - C++
Выполнить операцию транспонирования прямоугольной матрицы A (m, n), m не равно n, не выделяя дополнительный массив для хранения результата.

Ввести два числа и выполнить указанную операцию - C++
2. Цифры 1, 2, 3 и 4 обозначают операции сложение, умножение, вычитание и деление. Предложить пользователю ввести два числа и выбрать...

Как десятью потоками выполнить операцию 50 раз - C++
Есть массив потоков в количестве 10 штук и есть функция, которая должна выполниться 50 раз, как 10 потоками выполнить её 50 раз?

Написать программу, которая переводит числа по основанию 8 в 4. Выполнить операцию деления - C++
Написать программу, которая переводит числа по основанию 8 в 4. Выполнить операцию деления.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TSed
19 / 19 / 1
Регистрация: 22.01.2013
Сообщений: 76
21.01.2014, 18:59     Системы счисления 2 и 16, выполнить операцию сложение #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
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
 
int binToDec(string bin);
 
int main(){
    setlocale(LC_ALL, "Russian");
    string bin;
    int h;
    cout<<"Введите двоичное число"<<endl;
    cin>>bin;
    cout<<"Введите шестнадцатеричное число"<<endl;
    cin>>hex>>h;
    cout<<""<<binToDec(bin) + h<<endl;
    system ("pause");
    return 0;
}
int binToDec(string bin){
    //checking correctness
    for (int i = 0; i < bin.length(); i++){
        if ((bin[i] != '0') && (bin[i] != '1'))
            return -1;
    }
    //calculating
    int p = bin.length() - 1;
    int result = 0;
    for (int i = 0; i < bin.length(); i++){
        if (bin[i] == '1')
            result += pow(2, p);
        p--;
    }
    return result;
}
Добавлено через 1 минуту
объяснять нужно?
Тимкин Николай
2 / 2 / 0
Регистрация: 11.11.2013
Сообщений: 63
21.01.2014, 19:01  [ТС]     Системы счисления 2 и 16, выполнить операцию сложение #3
Цитата Сообщение от TSed Посмотреть сообщение
объяснять нужно?
да,желательно буду очень благодарен
TSed
19 / 19 / 1
Регистрация: 22.01.2013
Сообщений: 76
21.01.2014, 19:11     Системы счисления 2 и 16, выполнить операцию сложение #4
Тимкин Николай, формы представления чисел (2, 8 , 10, 16...) по сути нужны только для удобства пользователя. Двоичного представления литералов в с++ нет поэтому я использовал свою функцию которая принимает в качестве аргумента строку, а возвращает целое число. С 16-ой формой все несколько иначе, имеется возможность описать литерал
C++
1
int i = 0x0;//указываем компилятору что это 16-я форма
также можно сообщить потоку что следующее значение будет введено в 16-ой системе
C++
1
cin>>hex>>h;
так же и с выводом
C++
1
cout<<hex<<h;
непосредственно само сложение производится в одной системе и нам не требуется переводить числа в одну систему.
Yandex
Объявления
21.01.2014, 19:11     Системы счисления 2 и 16, выполнить операцию сложение
Ответ Создать тему
Опции темы

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