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