gpt4 book ai didi

c - 给定一个 double,需要找出一共有多少位数字

转载 作者:太空狗 更新时间:2023-10-29 15:14:25 25 4
gpt4 key购买 nike

我有一个 double,不一定是正数,但通常是正数。它可以是 0.xxxx000 或 X.xxxx00000 或 XX.00000 或 0.xxx0xxx00000,最终最后一个数字的右边全为 0。我需要跟踪有多少位数字。我一直有这个问题,有什么帮助吗?这是 C。

最佳答案

double 有 52 个尾数位加上一个隐含的“1”位,所以你应该能够将一个 double 指针打字双关到一个 64 位整数(将原始位变成一个整数),&= this with ( 1<<52)-1,|= (1<<52) 的结果。

它的 log10 就是小数位数。

不过,我几乎倾向于说“采用 jonsca 的解决方案”,因为它非常简单(它在任何情况下都值得 +1,因为它是 KISS)。

关于c - 给定一个 double,需要找出一共有多少位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5459437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com