spamsink: (Default)
[personal profile] spamsink
Изобретение стандартного формата компьютерного представления чисел с плавающей точкой (IEEE-754) и спецификация операций с ними - величайшее счастье для всех прикладных математиков мира.

В доисторические времена могло быть так:
  001               PROGRAM MAIN
  002               I = 0
  003               B = -1.0E-10
  004               C = I+B
  005               PRINT 20,B,C
  006            20 FORMAT(1X2E20.12)
  007               END
           *EXECUTE
   -1.000000000000-10  -1.000444171950-10

И это не ошибка, а прямое следствие из механизма работы арифметического устройства. Попробуйте объяснить явление.

Date: 2019-01-11 06:53 pm (UTC)
sab123: (Default)
From: [personal profile] sab123
Мне приходит в голову только что 0 - не совсем 0, а имеет как минимум один единичный разряд в мантиссе, при самом отрицательном порядке.

Date: 2019-01-11 11:19 pm (UTC)
sab123: (Default)
From: [personal profile] sab123
Так он для сложения превращается в плавающий.

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

Date: 2019-01-13 04:54 am (UTC)
stas: (Default)
From: [personal profile] stas
Да, я сразу подумал, что зачем-то двигают число к единичной экспоненте.

Date: 2019-01-12 09:11 pm (UTC)
dluciv: (Default)
From: [personal profile] dluciv
Не вдаваясь в детали, если у нас что-то E-10, то бинарный IEEE (бывает и десятичный, но это же не он, правда?) этого уже точно не представит, за исключением частных случаев типа 0,125...

Тред не читал.

Оно?
Edited Date: 2019-01-12 09:11 pm (UTC)

Profile

spamsink: (Default)
spamsink

May 2026

S M T W T F S
     12
3456789
10111213141516
17181920 212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 26th, 2026 11:55 pm
Powered by Dreamwidth Studios