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

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

Войти
Регистрация
Восстановить пароль
 
_Kate_
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 92
Записей в блоге: 1
#1

Длинная арифметика, представления чисел в двоичном виде - C++

17.09.2013, 00:29. Просмотров 730. Ответов 1
Метки нет (Все метки)

Хочу реализовать алгоритм суммирования в двоичной системе. Использовать битовое представления числа ну вот у меня возникает проблема.
Если я к примеру ввожу с клавиатуры последовательность чисел большой длины и помещаю их у вектор, как сделать пребразование в двоичною систему я же не могу просто взять массив и делить его на на 2 пока не получу нуль.
Помогите пожалуйста, если можно конечно более подробно объяснить.

Добавлено через 25 минут
или хотя бы ссылку подскажите, много чего искала но нечего путевого по моему вопросу не нашла(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.09.2013, 00:29     Длинная арифметика, представления чисел в двоичном виде
Посмотрите здесь:

Длинная арифметика, деление чисел - C++
http://www.cyberforum.ru/attachment.php?attachmentid=393890&stc=1&d=1398936287 Помоги с решием , желательно код.Заранее спасибО!

Длинная арифметика, сумма чисел - C++
Входной файл содержит набор целых десятичных чисел, каждое из которых не превышает 30 десятичных цифр. Необходимо вычислить сумму этих...

Длинная арифметика. Сложение чисел - C++
Есть у меня массив в каждой ячейке записано 1 или 0, т.е число в двоичном коде. Необходимо перевести это число в 10 СС и записать также в...

Длинная арифметика(вычитание длинных целых чисел) - C++
Добрый вечер! Очень нужна помощь. Мне нужно написать программы для сложения больших целых чисел(разрядности около 200), вычитания и что-то...

Длинная арифметика. Перемножение двух больших чисел - C++
Насчет алгоритма выполнения не могу пока что сказать ничего. Дело в том, что после того, как ввожу первое число и нажимаю Enter, каретка...

Длинная арифметика. Перемножение двух больших чисел. Пропуск итераций - C++
Программа работает корректно с числами, оканчивающимися не на нуль. Пробовал выводить слово "iter" в каждом проходе цикла, но при работе с...

Реализовать оператор сравнения в классе длинных чисел (длинная арифметика) - C++
Здравствуйте, дорогие форумчане. Недавно назрел вопрос, как бы сделать сравнение чисел длинной арифметики в дальнейшем коде? Сравнение...

Вывод десятичных чисел в двоичном виде - C++
Пытаюсь сделать программу выводящую десятичные числа в двоичной системе. В чем ошибка? При любом введенном числе выводит нули. ...

Отличие положительных и отрицательных чисел в двоичном виде - C++
Надо перевести обычные числа в двоичную систему. то сделал легко, но преподаватель спросил: а чем отличается перевод положительных и...

Вывести все представления натурального числа в виде сумм чисел - C++
Есть программа ,распечатывающая все представления натурального числа суммами натуральных чисел.При вводе больших чисел в dev cpp не выводит...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
17.09.2013, 00:59     Длинная арифметика, представления чисел в двоичном виде #2
Цитата Сообщение от _Kate_ Посмотреть сообщение
Если я к примеру ввожу с клавиатуры последовательность чисел большой длины и помещаю их у вектор, как сделать пребразование в двоичною систему я же не могу просто взять массив и делить его на на 2 пока не получу нуль.
Почему нет?

Добавлено через 31 секунду
Цитата Сообщение от _Kate_ Посмотреть сообщение
Добавлено через 25 минут
или хотя бы ссылку подскажите, много чего искала но нечего путевого по моему вопросу не нашла(
http://ru.wikipedia.org/wiki/%D0%94%...BD.D1.8B.D0.B5

Добавлено через 9 минут
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
#include <string>
#include <iostream>
#include <bitset>
 
std::string DecToBin(unsigned long long i_number)
  {
  std::string result;
  result.reserve(64);
  unsigned long long bitmask = 1ULL << 63;
  do
    result.push_back('0' + static_cast<bool>(i_number & bitmask));
  while (bitmask >>= 1);
  return result;
  }
 
int main()
  {
  unsigned long long n;
  std::cin >> n;
  std::cout << DecToBin(n) << std::endl << std::bitset<64>(n) << std::endl;
  std::cin.ignore();
  std::cin.get();
  return 0;
  }
Добавлено через 2 минуты
а, введение планируется сразу простыни?
Ответ Создать тему
Опции темы

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