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

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

Войти
Регистрация
Восстановить пароль
 
StamSvam
6 / 6 / 0
Регистрация: 08.07.2012
Сообщений: 65
#1

Числа с разрядностью больше 8 байт - C++

23.05.2013, 10:19. Просмотров 240. Ответов 0
Метки нет (Все метки)

Уважаемые. Есть такой код, который записывает число 2^N в двоичной форме.

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
unsigned char* BinPow2(int N)
{
    unsigned char *bin = (unsigned char*)malloc(N/8+1);
    for (int i=0; i<N/8+1; i++)
        *(bin + i) = 0;
    *(bin + N/8) = 1<<N%8;
    
    return (bin);
}


Затем нужно определить все цифры, стоящие в разрядах десятичного представления числа 2^N (где N > 1000), имея только двоичную запись этого числа.

Можно:
1. Получить остаток от деления на 10
2. Получить остаток от деления на 100 и поделить на 10 результат
3. Получить остаток от деления на 1000 и поделить на 100 результат
и т.д.

но ведь тогда получится, что для N-го разряда нужно 10^N делитель, а это опять же охренительно большое число..

подскажите, как реализовать данный алгоритм? возведение 10 в степень в двоичной форме с выделением памяти будет кране долгим...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2013, 10:19     Числа с разрядностью больше 8 байт
Посмотрите здесь:
C++ vwprintf, va_list (stdarg.h) и большие числа (больше 4х байт)
C++ функция изменяет старший байт числа на заданное значение не изменяя младший байт
Для целого числа А выделить старший байт и поставить его на место младшего байта. старший байт при этом обнулить. C++
Можно ли в char строку копировать больше байт, чем ее размер? C++
C++ Числа размером в 1 байт
Считать старший байт числа C++
C++ Класс целых чисел разрядностью 80 бит
Поместить четыре числа от 1 до 4 в один байт C++
Определить порядок хранения байт 16-ричного числа C++
C++ Проверка расположения последовательности байт числа в памяти
C++ Инвертировать младший байт длинного целого числа

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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