Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Максимальная длина числа - 1000 знаков





Define NUMMAX 1000

Основание системы счисления длинных чисел - 10^9

Define NUMBASE 1000000000

Получение длины числа

#define NUMLEN(n) ((n)[0])

Определение типа длинных чисел

typedef int number_t[NUMMAX + 1];

Итак, мы определили тип данных длинных чисел – number_t. С его помощью можно хранить и обрабатывать числа длиной до 9000 десятичных знаков. Основание системы счисления выбрано равным 109, это позволяет содержать в одном элементе массива до 9 десятичных знаков. Рассмотрим пример хранения двух чисел: 1 и 1234567890.

Число 1 меньше выбранного основания системы счисления, поэтому оно будет представлено одной значимой цифрой и для его хранения будет достаточно 1 элемента массива. Схема описания может быть следующей:

 
 
 
 
1000 элементов с индексами 1..1001 хранят цифры числа  
Первый элемент с индексом 0 хранит количество значимых цифр
 

 

Число 1234567890 больше выбранного основания системы счисления, поэтому будет представлено двумя значимыми цифрами и для его хранения потребуются 2 элемента массива. Схема описания может быть следующей:

 
 
 
 
1000 элементов с индексами 1..1001 хранят цифры числа  
Первый элемент с индексом 0 хранит количество значимых цифр
 

Создадим три вспомогательные функции, задающие значение длинного числа. Функция numzero() устанавливает длинное число равным нулю. Ее программный код выглядит так:







Дата добавления: 2015-09-06; просмотров: 547. Нарушение авторских прав; Мы поможем в написании вашей работы!




Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Эндоскопическая диагностика язвенной болезни желудка, гастрита, опухоли Хронический гастрит - понятие клинико-анатомическое, характеризующееся определенными патоморфологическими изменениями слизистой оболочки желудка - неспецифическим воспалительным процессом...

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

Вопрос. Отличие деятельности человека от поведения животных главные отличия деятельности человека от активности животных сводятся к следующему: 1...

Расчет концентрации титрованных растворов с помощью поправочного коэффициента При выполнении серийных анализов ГОСТ или ведомственная инструкция обычно предусматривают применение раствора заданной концентрации или заданного титра...

Studopedia.info - Студопедия - 2014-2026 год . (0.009 сек.) русская версия | украинская версия