如何解决C 可靠地获得 ULLONG_MAX 的百分比
在 C
中,以下内容给了我一个隐式转换警告。我知道为什么会发生此警告。我想知道的是,是否有一种可靠的线性方式来获取真正大的无符号数字的百分比。我知道最终结果将适合 unsigned long long
,中间操作则不能这样说。
#define LOAD_FACTOR 0.75
#define MAX_CAPACITY (unsigned long long)((unsigned long long)-1 / sizeof(Entry) * LOAD_FACTOR)
Entry
只是一个普通的结构体,任何结构体都可以。
我在考虑:
#define MAX_CAPACITY ((unsigned long long)-1 / sizeof(Entry) / 2 + (unsigned long long)-1 / sizeof(Entry) / 4)
但是这样 LOAD_FACTOR
就变成了,嗯,不是“动态的”。
编辑:我正在编译 Wall
、Werror
、Wextra
和 Wpedantic
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。