我们知道double
可以存储从±4.94065645841246544e-324
到的数字±1.79769313486231570e+308
。我们可以在其中存储128位值(如IPv6)double
并按原样检索吗?例如,要存储IPv4,我们可以使用32位整数并将其存储为8位分区。我们可以使用位掩码来检索它们。
没有标准容器可以以任何语言AFAIK存储128位。我知道double
可以安全地存储64位,而没有任何精度错误,但是有什么破解方法吗?
从技术上讲,如果sizeof(double) * CHAR_BITS
≥128(在我的计算机上为64位),则可以,但是为什么要这样做?而不是重新发明轮子使用sockaddr_in6
,或者,如果你一定要,数组uint8_t
或一个std::bitset
。
相关答案:一种有效的方式来存储IPv4 / IPv6地址
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句