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

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

Восстановить пароль Регистрация
 
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
16.03.2012, 09:53     Длинные числа #1
Надо реализовать 2 класса: длинное целое Int8192 и с плавающей запятой Floa8192. Int8192 имеет разрядность 8192 бита, внутреннее представление - сырой массив байт, весь массив интерпретируется как одно большое двоичное число, чем меньше индекс байта, тем старше его биты, порядок бит в пределах байта - аппаратный, старший бит всего числа - знаковый, если он установлен, то всё число отрицательное и записано в дополнительном коде. Float8192 имеет мантиссу разрядностью 7936 бит и порядок разрядностью 256 бит, внутреннее представление - два сырых массива байт, каджый из них интерпретируется как одно большое двоичное число, один как мантисса, второй - как порядок, чем меньше индекс байта, тем старше его биты, старший бит всей мантиссы - знаковый бит числа, старший бит всего порядка - знаковый бит порядка. Если установлен знак порядка, то порядок отрицателен и записан в дополнительном коде. Если знаковый бит числа установлен, то число отрицательно, а мантисса записана в дополнительном коде. Надо реализовать операторы-члены: +, +=, -, -=, *, *=, /, /=, =, ==, <, <=, >, >=, френдофункции: zStrToInt8192, Int8192TozStr, zStrToFloat8192, Float8192TozStr, sin, cos, tan, arcsin, arccos, arctan, exp, ln, причём, только через ассемблерные вставки для AMD64, приведение из стандартных числовых типов и потоковые операторы. Если мантисса результата не равна нолю, то 7934-й её бит должен быть противоположен знаковому, то есть максимально прижимать старший значащий бит мантиссы влево. Не обязательно работать только с отдельными байтами, можно использовать и 64-х битные операции. Оцените диапазоны представимых значений.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2012, 09:53     Длинные числа
Посмотрите здесь:

Длинные числа в С++ C++
"Длинные" числа C++
Реализовать длинные целые числа в виде класс C++
C++ Длинные целые числа
Как сравнить длинные числа через list? C++
Класс "Длинные числа" с перегрузкой операторов C++
Класс "длинные числа" C++
Длинные числа. Умножение отрицательных C++

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

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

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