Size: a a a

pro.graphon (and gamedev)

2021 April 16

DP

Defragmented Panda in pro.graphon (and gamedev)
перенос? знак +\-?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Перенос, вроде
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
1.10 * 1.10 = 2.20, как я понимаю
источник

DP

Defragmented Panda in pro.graphon (and gamedev)
31*31=961 < 1023
5бит макс * 5бит макс < 10бит макс
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
5 бит мантиссы это не 0…31, это 32…63 для нормальных чисел
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
0…31 для денормализованных
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Потому что 00000 это 1.0, 10000 это 1.5
источник

DP

Defragmented Panda in pro.graphon (and gamedev)
эээ?
5 бит мантисы это
1 2 3 4 .... 30 31 32 34 36 ... 64 68 72 ...
т.е. та же мантиса может обозначать кучу разных чисел, в зависимости от того что показывает экспонента

мантису имеет смысл читать как то где она показывает числа с шагом в 1(на примере int), ну или вообще никак
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
5 бит мантиссы при порядке 0 это 1.0, 1.03125, 1.0625 … 1.96875
источник

DP

Defragmented Panda in pro.graphon (and gamedev)
да, можно так

и чем больше экспонента - тем больше шаг между соседними значениями мантисы
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
До нормализации экспоненты у тебя получается 1.5 * 1.5 = 2.10, а не 0.5 * 0.5 = 0.10
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
А нормализация тут точности не добавит, а наоборот, шаг в 2 раза увеличит
источник

DP

Defragmented Panda in pro.graphon (and gamedev)
я просто представляю что мантиса умножается как int (с отбрасыванием младших бит) и потом экспонента добирается до нужной с учетом обеих экспонент до умножения и результата умножения мантисы
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Да, но умножается, включая неявный бит
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
И ничего никуда не отбрасывается. Считается порядок, потом отбрасывается столько бит, сколько в итоге не влезет с новым порядком, с нужным округлением (по умолчанию до ближайшего чётного в случае .5)
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
А в FMA отбрасывание происходит вообще после сложения, а не после умножения
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Мантиссы перемножаются, порядки суммируются, порядок нормализуется (чтобы мантисса была 1.сколько-то, а не 2.сколько-то или 0.сколько-то, если только в итоге не выходит денормал), и только тогда происходит округление
источник

AF

Aidar Fattakhov in pro.graphon (and gamedev)
А как вобще флоаты генерятся?
источник

AF

Aidar Fattakhov in pro.graphon (and gamedev)
Я чет не помню было ли такое в кнуте
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Из чего, ты имеешь в виду?
источник