Как тип .NET decimal
представляется в двоичной форме в памяти?
Все мы знаем, как хранятся числа с плавающей запятой, и, следовательно, причины их неточности, но я не могу найти никакой информации о decimal
, кроме следующего:
- По-видимому, более точен, чем числа с плавающей запятой
- Занимает 128 бит памяти
- 2 ^ 96 + диапазон знаков
- 28 (иногда 29?) Всего значащих цифр в номере
Есть ли способ понять это? Ученый-компьютерщик во мне требует ответа, и после часа попыток исследования я не могу его найти. Похоже, либо много потраченного впустую битов, либо я просто неправильно представляю себе это в своей голове. Кто-нибудь может пролить свет на это, пожалуйста?