Как GO выполняет арифметику на константах
константы в GO Представляют точные значения произвольной точности во время компиляции. Однако при генерации окончательного исполняемого двоичного файла константы должны быть преобразованы в конечные типы точности.
хранилище и представление констант
untyped Constants не занимают память во время выполнения. Они существуют исключительно во время компиляции и не присутствуют в исполняемом файле. Компилятор получает тип нетипированной константы из своего типа по умолчанию. Например, в кодовом фрагменте code const agrable = 1e1000, постоянная огромная ограничения типа float64.
]]. может применять ограничения. Однако определенные минимальные уровни точности гарантированы:
Integer Constants: 256 бит
компилятор использует внутренние представления с ограниченной точностью к константам процесса с произвольной точностью. Однако спецификация диктует, что все постоянные выражения должны быть точно оценены в пределах определенных пределов точности.
, когда ограничения точности достигаются
, если переполнены или потеря точность во время во время Постоянная оценка выражения, компилятор сообщит об ошибке. Значения, превышающие пределы конечных типов, не могут быть представлены в исполняемом файле. Разработчики могут использовать такие пакеты, как Math/Big и Go/Constant для обработки значений с произвольной точностью. Во время компиляции константы имеют произвольную точность, но компиляторы могут наложить ограничения. Только результат постоянных выражений должен быть преобразован в конечную точность. ]
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3