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

Перевести длинное целое число в двоичный вид - C++

Восстановить пароль Регистрация
 
Qazan
211 / 59 / 9
Регистрация: 30.04.2013
Сообщений: 778
Записей в блоге: 10
02.06.2014, 09:15     Перевести длинное целое число в двоичный вид #1
Нужно перевести длинное целое число в двоичный вид
как мне узнать длину массива для двоичных чисел ?
про логарифм ясно , не очень правда ,ясно как это применить для длинных чисел ..

как использовать тот факт , что я знаю длину массива в десятичном представлений ?

Когда использовал для этого стек , но тут приходиться предельно покампактнее все делать

как без стека обойтись ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2014, 09:15     Перевести длинное целое число в двоичный вид
Посмотрите здесь:

C++ Преобразование чисел в двоичный вид
C++ [C++] целое число перевести в 16 ричное и 8 ричное представление
C++ Составить функцию, которая, получив целое число определяет, уменьшается ли оно в целое число раз
C++ Текстовый файл перевести в двоичный, а потом полученный двоичный файл перевести обратно в текстовый
C++ В диалоговом режиме задается длинное целое число A (long int)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimabubyakin
 Аватар для dimabubyakin
158 / 123 / 44
Регистрация: 16.10.2013
Сообщений: 1,731
Завершенные тесты: 5
02.06.2014, 09:36     Перевести длинное целое число в двоичный вид #2
Qazan, динамический массив
Qazan
211 / 59 / 9
Регистрация: 30.04.2013
Сообщений: 778
Записей в блоге: 10
02.06.2014, 09:42  [ТС]     Перевести длинное целое число в двоичный вид #3
dimabubyakin, Это дополнительно N*(N - 1) /2 операций ,стек тут по моему дешевле будет
может, что есть круче , что позволяющее на рас найти длину массива и все

верхнюю оценку хотя бы ,потом просто откушу лишнее
dimabubyakin
 Аватар для dimabubyakin
158 / 123 / 44
Регистрация: 16.10.2013
Сообщений: 1,731
Завершенные тесты: 5
02.06.2014, 09:43     Перевести длинное целое число в двоичный вид #4
Qazan, тогда в чем проблема? Вспоминаем правила перевода в двоичную систему и заносим в стек)
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,043
02.06.2014, 09:52     Перевести длинное целое число в двоичный вид #5
Цитата Сообщение от Qazan Посмотреть сообщение
что я знаю длину массива в десятичном представлений
как лежат данные?
если вот так
int a[10];
то нужно подсчитать длину массива в байтах и умножить на 8
C++
1
sizeof(a)*8;
dimabubyakin
 Аватар для dimabubyakin
158 / 123 / 44
Регистрация: 16.10.2013
Сообщений: 1,731
Завершенные тесты: 5
02.06.2014, 10:05     Перевести длинное целое число в двоичный вид #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
#include <iostream>
using namespace std;
struct Stack
{
    short data;
    Stack *Next;
};
int main()
{   
    unsigned long long a;
    while(true)
    {
        cin>>a;
        if(a==0)break;
        Stack *Top, *Help;
        Top=new(Stack);
        Top->Next=NULL;
        Top->data=a%2;  
        a/=2;
        while(true)
        {
            Help=new(Stack);
            Help->Next=Top;
            Top=Help;
            Top->data=a%2;
            a/=2;
            if(a==0)break;
        }
        do
        {
            cout<<Top->data;
            Top=Top->Next;
        }while(Top!=NULL);
        cout<<endl;
    }
    return 0;
}
Qazan
211 / 59 / 9
Регистрация: 30.04.2013
Сообщений: 778
Записей в блоге: 10
02.06.2014, 10:15  [ТС]     Перевести длинное целое число в двоичный вид #7
ValeryS, не очень понял
откуда цифра 8 ?

Добавлено через 3 минуты
dimabubyakin, Спасибо , но .. длинное да не очень ;
Длинная арифметика ,числа порядка 100 ни знакомест и больше
dimabubyakin
 Аватар для dimabubyakin
158 / 123 / 44
Регистрация: 16.10.2013
Сообщений: 1,731
Завершенные тесты: 5
02.06.2014, 10:17     Перевести длинное целое число в двоичный вид #8
Qazan, 8 так как 1 байт у нас 8 бит)

Добавлено через 1 минуту
Qazan, с такими числами конечно не работал, но тогда думаю можно считать число как строку
Qazan
211 / 59 / 9
Регистрация: 30.04.2013
Сообщений: 778
Записей в блоге: 10
02.06.2014, 10:21  [ТС]     Перевести длинное целое число в двоичный вид #9
Цитата Сообщение от dimabubyakin Посмотреть сообщение
считать число как строку
Да все верно
dimabubyakin
 Аватар для dimabubyakin
158 / 123 / 44
Регистрация: 16.10.2013
Сообщений: 1,731
Завершенные тесты: 5
02.06.2014, 10:23     Перевести длинное целое число в двоичный вид #10
Qazan, а вот как потом ее обрабатывать, ведь насколько мне известно со строкой у нас арифметические действия не произваодятся
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,043
02.06.2014, 10:34     Перевести длинное целое число в двоичный вид #11
Цитата Сообщение от Qazan Посмотреть сообщение
Да все верно
так может расскажешь как у тебя представлено длинное число?
и как ты хочешь хранить двоичное представление?
Qazan
211 / 59 / 9
Регистрация: 30.04.2013
Сообщений: 778
Записей в блоге: 10
02.06.2014, 10:37  [ТС]     Перевести длинное целое число в двоичный вид #12
dimabubyakin, столбиком делить ,каждое число переводить в int

C++
1
  string[i] -= '0';
Добавлено через 49 секунд
ValeryS, std::vector<bool>

Добавлено через 56 секунд
Цитата Сообщение от ValeryS Посмотреть сообщение
представлено длинное число?
std::string s

Добавлено через 51 секунду
Через него иницализирую класс, внутреннее представление двоичное как сказал выше в vector-е
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,043
02.06.2014, 10:38     Перевести длинное целое число в двоичный вид #13
Цитата Сообщение от Qazan Посмотреть сообщение
std::vector<bool>
что bool? это как двоичные хранить будешь?
а как число представлено?
Qazan
211 / 59 / 9
Регистрация: 30.04.2013
Сообщений: 778
Записей в блоге: 10
02.06.2014, 10:43  [ТС]     Перевести длинное целое число в двоичный вид #14
ValeryS,
Цитата Сообщение от Qazan Посмотреть сообщение
std::string s
Добавлено через 36 секунд
ValeryS,
Цитата Сообщение от Qazan Посмотреть сообщение
Через него иницализирую класс, внутреннее представление двоичное как сказал выше в vector-е
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2014, 10:46     Перевести длинное целое число в двоичный вид
Еще ссылки по теме:

C++ Перевести длинное двоичное число в 10 систему
Дано длинное целое неотрицательное число C++
Перевести целое число из десятичной системы счисления в двоичную, используя алгоритм деления на 2 C++

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

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,043
02.06.2014, 10:46     Перевести длинное целое число в двоичный вид #15
Цитата Сообщение от Qazan Посмотреть сообщение
std::string s
значит смотрим один разряд десятичного 4 разряда двоичного 10 = 1010b
3 разряда десятичного 10 разрядов двоичного 1000= 1111101000b

значит считываешь длину строки и рассчитываешь

но это не правильно разрядность должна быть константой например 128 разрядов или 256
21024=1,797693134862315907729305190789*10308
хватит тебе такого размера?
Yandex
Объявления
02.06.2014, 10:46     Перевести длинное целое число в двоичный вид
Ответ Создать тему
Опции темы

Текущее время: 07:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru