Приветствую Вас Гость
Вторник
17.06.2025
19:50

Scilab

Меню сайта
Reklama
- кино, фильмы, видео
- музыка и MP3
- авто и мото
- знакомства
- заработок в сети
- игры
- форекс, forex
- женские сайты
- для взрослых
- строительство и ремонт
- недвижимость
- бытовая техника
- здоровье и медицина
- красота, косметика
- работа, вакансии, резюме
- животные и растения
- детские товары
- знакомства для интима
- софт
- развлечения
- одежда и обувь
- туризм и отдых
- мебель, интерьер
- компьютеры и оргтехника
- реклама и интернет
- промышленное оборудование
- сырье и материалы
- социальные сети
- средства связи
- образование и обучение
wmlink
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Поиск

Целые числа и числа с плавающей точкой

В Scilab числовая переменная по умолчанию имеет тип вещественного числа с плавающей точкой, для представления которого в памяти используется 64 бита. Даже если при создании переменной ей присваивается целое значение, переменная будет иметь тип с плавающей точкой. На практике целые значе­ния в интервале [—252, 252] можно без особых опасений хранить в вещественных переменных, так как Scilab в этом случае гарантирует точность выполнения операций. Например, в следующем фрагменте мы производим точное сложение двух больших целых чисел, лежащих в пределах интервала [—252, 252] и убеждаемся, что потери точности не происходит:

-->а =2^40 - 12

а =

1099511627764.

 -->b =2^45 + 3

b =

35184372088835.

 -->с  = а + b

с =

36283883716599 .

Если же в ходе вычислений значение выходит за пределы указанного интервала, результаты могут быть весьма неожиданными. Например, как демонстрирует следующий фрагмент, при работе с величинами, превышающими 253, полученное значение оказывается четным независимо от значений операндов:

-->(2  -  53  +  (1 : 10)) '

ans =

9007199254740992. 9007199254740994. 9007199254740996. 9007199254740996. 9007199254740996. 9007199254740998. 9007199254741000. 9007199254741000. 9007199254741000. 9007199254741002.

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

-->2  ^ 52

ans =

4503599627370496.

 -->uintl6(2 ^ 52)

ans =

0