我有一个双倍,不一定是积极的,但通常.它可以是0.xxxx000或X.xxxx00000或XX.00000或0.xxx0xxx00000,最后在最后一个数字的右边全部为0.我需要跟踪有多少位数.我一直遇到麻烦,有什么帮助吗?这是C.
双具有52个尾数位加上一个隐含的"1"比特,所以你应该能够键入-双关语双指针64位整数(获得原始比特转换成一个整数),=此用(1 << 52)-1,| =与(1 << 52)的结果.
log10将是十进制数字的数字.
虽然,我几乎倾向于说"采用jonsca的解决方案",因为它非常简单(在任何情况下,它都应该获得+1作为KISS).