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

Длинные числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Показывать bmp из файла http://www.cyberforum.ru/cpp-beginners/thread519989.html
Пытаюсь заставить показать в окне картинку bmp из указанного файла. Есть полностью работоспособная программа, которая из ресурсов показывает все как надо. Конкретно связка CBitmap с ресурсом...
C++ Переписать данные файла input.txt в output.txt, отсортировав их Прошу помочь с заданием. В файле input.xtx содержатся сведения о группе студентов в формате: 1.номер группы; 2. запись о каждом студенте группы, которая содержит следующие сведения:фамилия, имя,... http://www.cyberforum.ru/cpp-beginners/thread519982.html
C++ Определить номер недели в году
Нужно определять номер недели в году, с учетом того, что первая неделя начинается 1го января. Можно ли как то перевести номер дня с начала года в номера недели? Были пару вариантов, но точно...
C++ Программа для анализа русских/английских текстов
Уфф, в общем я студент-самоучка, пытаюсь охватить побольше теории, но с практикой дело у меня идёт не очень активно. Тк мой код никто кроме препода с первого курса больше не видел(сейчас на втором),...
C++ Константные поля класса http://www.cyberforum.ru/cpp-beginners/thread519927.html
Такой вопрос, как инициализировать константные поля класса? Работают конструкции вида obj():t(0){}; который используется в примере ниже. А если написать полноценное тело конструктора, то пишет что...
C++ Даны целые числа a1, …, an, каждое из которых отлично от нуля. Даны целые числа a1, …, an, каждое из которых отлично от нуля. Если в последовательности отрицатель¬ные и положительные члены чередуются (+,-, +, -, … или -,+,-,+, ...), то ответом должна служить... подробнее

Показать сообщение отдельно
taras atavin
3888 / 1762 / 92
Регистрация: 24.11.2009
Сообщений: 27,565

Длинные числа - C++

16.03.2012, 09:53. Просмотров 579. Ответов 0
Метки (Все метки)

Надо реализовать 2 класса: длинное целое Int8192 и с плавающей запятой Floa8192. Int8192 имеет разрядность 8192 бита, внутреннее представление - сырой массив байт, весь массив интерпретируется как одно большое двоичное число, чем меньше индекс байта, тем старше его биты, порядок бит в пределах байта - аппаратный, старший бит всего числа - знаковый, если он установлен, то всё число отрицательное и записано в дополнительном коде. Float8192 имеет мантиссу разрядностью 7936 бит и порядок разрядностью 256 бит, внутреннее представление - два сырых массива байт, каджый из них интерпретируется как одно большое двоичное число, один как мантисса, второй - как порядок, чем меньше индекс байта, тем старше его биты, старший бит всей мантиссы - знаковый бит числа, старший бит всего порядка - знаковый бит порядка. Если установлен знак порядка, то порядок отрицателен и записан в дополнительном коде. Если знаковый бит числа установлен, то число отрицательно, а мантисса записана в дополнительном коде. Надо реализовать операторы-члены: +, +=, -, -=, *, *=, /, /=, =, ==, <, <=, >, >=, френдофункции: zStrToInt8192, Int8192TozStr, zStrToFloat8192, Float8192TozStr, sin, cos, tan, arcsin, arccos, arctan, exp, ln, причём, только через ассемблерные вставки для AMD64, приведение из стандартных числовых типов и потоковые операторы. Если мантисса результата не равна нолю, то 7934-й её бит должен быть противоположен знаковому, то есть максимально прижимать старший значащий бит мантиссы влево. Не обязательно работать только с отдельными байтами, можно использовать и 64-х битные операции. Оцените диапазоны представимых значений.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru