Ответ 1
Чтобы убедиться, что мы находимся на одной странице, G
является самым значительным битом из трех, следующий R
и S
можно считать наименее значимым, потому что его значение частично представляет еще менее значимые биты, которые были усечены в вычислениях. Эти три бита используются только при выполнении вычислений и не сохраняются в переменной с плавающей запятой до или после вычислений.
Это то, что вы должны сделать, чтобы округлить результат до ближайшего четного числа, используя G
, R
и S
:
GRS - Действие
0xx - round down = ничего не делать (x означает любое значение бит, 0 или 1)
100 - это связь: округлить, если бит мантиссы перед G равен 1, иначе округлить вниз = ничего не делать
101 - округлить
110 - округлить
111 - округление
Округление выполняется добавлением 1 к мантиссе в наименьшей значащей позиции мантиссы непосредственно перед G
. Если мантисса переполняется (ее 23 наименее значимых бита, которые вы будете хранить, становятся нулями), вы должны добавить 1 к экспоненте. Если экспонента переполняется, вы устанавливаете число до + бесконечности или -infinity в зависимости от знака числа.
В случае галстука вы добавляете 1 к мантиссе, если мантисса странная, и вы ничего не добавляете, даже если это возможно. Это делает результат округленным до ближайшего четного значения.