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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
mafiozu
0 / 0 / 0
Регистрация: 29.06.2010
Сообщений: 7
#1

Реализация 128-битного числа - C++

08.11.2012, 18:15. Просмотров 2066. Ответов 6
Метки нет (Все метки)

Здравствуйте.
В институте дали задание: реализовать стек типа "128-битного" числа.
если использовать long long double то максимум 10 байт (80 бит) выжимаю.
Посоветовали использовать структуру
struct n128
{ double a;
double b;
}

Посоветуйте пожалуйста способы ввода и вывода 128-битного числа.
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2012, 18:15     Реализация 128-битного числа
Посмотрите здесь:

Эмуляция 128-битного типа - C++
В GCC есть возможность работы со 128-битным типом __int128_t. Как включить поддердку такого типа в Visual Studio?

специфика создание 32 - х битного и 64 - х битного приложение - C++
Господа допустим есть программа 32-х битная как из неё сделать 64-х битную . Интересует вообще как это реализуется и на сколько сложна...

Распаковка 32 битного числа - C++
Реализовали такой алгоритм запаковки со всякими сдвигами. В файл пишется блоками по 17 байт, в которые зашито 8 32-битных чисел. int...

Вычисление факториала 20-битного числа - C++
Здравствуйте. Дано 20-битное беззнаковое целое число. Нужно узнать количество знаков и количество нулей его факториала в N системе...

Запись в char числа <-128 - C++
Всем привет! Подскажите пожалуйста, как в переменную типа char записать число -129, причем чтобы потом его можно было бы прочитать без...

Сравнение двух 128-и бытных числа на разных платформах оптимальным способом - C++
Hello World! :) Ребят, есть два 128-и битных числа, допустим: char* a; //по указателю первые 16 байт - это целое знаковое число типа...

Не компилируется 64-битная DLL из 32-битного проекта - C++
Добрый день! У меня есть проект MS VS2010 Prof+WinDDK7600, 32-битная DLL принтпроцессора. Во время печати спулер системы ее...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.11.2012, 18:21     Реализация 128-битного числа #2
их надо писать самому. это часть вашего задания
Ptomaine
13 / 13 / 0
Регистрация: 22.10.2011
Сообщений: 35
08.11.2012, 18:39     Реализация 128-битного числа #3
Тип 'long long' имеет размер 64 bit при любой разрядности (32/64).
Поэтому можно так:
C++
1
struct n128 { long long a, b; };
Только небольшое уточнение: стандартно, тип long long, поддерживается в С++ только в GCC (MinGW) и начиная с MS VC++ 2010. До этого, у MSVC++ был свой тип, __int64 по моему.
mafiozu
0 / 0 / 0
Регистрация: 29.06.2010
Сообщений: 7
08.11.2012, 19:11  [ТС]     Реализация 128-битного числа #4
я правильно понимаю, что, на примере моей структуры, одна из переменных будет хранить первые 8 бит, другая остальные 8, то есть старшую и младшую часть? Если так, то у меня вопрос, какими примерами ввода чисел пользоваться, чтобы проверить правильность моих функций ввода и вывода?
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.11.2012, 19:24     Реализация 128-битного числа #5
Цитата Сообщение от mafiozu Посмотреть сообщение
первые 8 бит, другая остальные 8
8 байт

Введите длинное число)
Или покажите ваш текущий код
Ptomaine
13 / 13 / 0
Регистрация: 22.10.2011
Сообщений: 35
08.11.2012, 19:29     Реализация 128-битного числа #6
нет,
одна переменная будет 64 бита (8 байт, а не бит)
ну и вторая точно такая же.
в сумме они дают 128 бит (16 байт)

для манипуляций с данными нужно переписывать операторы этой структуры, и кода, для правильных и точных операций с такими числами, будет многовато.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2012, 19:51     Реализация 128-битного числа
Еще ссылки по теме:

Реализация разбиения числа с Динам. Прогр - C++
Доброго времени суток. Нужна помощь: как с помощью динамического программирования реализовать решение такой вот задачи: &quot;найти...

Объясните что означает '0' и '\0' и S[128] в задаче. - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;cmath&gt; #include&lt;stdio.h&gt; void F(long a, char *s) { int i, j, k, count =...

Создать класс 128 разрядных чисел - C++
Натяпал за выходные простенький класс uint128_t. Теоретически - работает. Практически же, только делает вид... быстродействие никакущее....

printf и integer 128 бит, как вывести значение? - C++
Как напечатать через printf знаковый и беззнаковый 128-битный integer? Пробовал через llu и lllu, но пишет несоответствие...

8-битовый тип signed char может представлять значения от -128 до 127 - C++
8-битовый тип signed char может представлять значения от -128 до 127 Кто может растолковать как это понимать, от 128 до 127 -...


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

Или воспользуйтесь поиском по форуму:
mafiozu
0 / 0 / 0
Регистрация: 29.06.2010
Сообщений: 7
08.11.2012, 19:51  [ТС]     Реализация 128-битного числа #7
Цитата Сообщение от I.M. Посмотреть сообщение
8 байт

Введите длинное число)
Или покажите ваш текущий код
Да-да, 8 байт, голова просто кипит уже)
через часок скину

Цитата Сообщение от Ptomaine Посмотреть сообщение
нет,
одна переменная будет 64 бита (8 байт, а не бит)
ну и вторая точно такая же.
в сумме они дают 128 бит (16 байт)

для манипуляций с данными нужно переписывать операторы этой структуры, и кода, для правильных и точных операций с такими числами, будет многовато.
не совсем утешительное сообщение)

Добавлено через 6 минут
Цитата Сообщение от Ptomaine Посмотреть сообщение
нет,
одна переменная будет 64 бита (8 байт, а не бит)
ну и вторая точно такая же.
в сумме они дают 128 бит (16 байт)

для манипуляций с данными нужно переписывать операторы этой структуры, и кода, для правильных и точных операций с такими числами, будет многовато.
ну у меня только три метода класса стека:
1. Добавить
2. Исключить
3. Показать
Yandex
Объявления
08.11.2012, 19:51     Реализация 128-битного числа
Ответ Создать тему
Опции темы

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