gpt4 book ai didi

c++ - 我们什么时候需要提及/指定数字文字的整数类型?

转载 作者:太空狗 更新时间:2023-10-29 19:46:33 28 4
gpt4 key购买 nike

我遇到了如下代码:

#define SOME_VALUE 0xFEDCBA9876543210ULL

SOME_VALUE 稍后被分配给一些 unsigned long long

问题:

  1. 在这种情况下是否需要像 ULL 这样的后缀?
  2. 什么情况下我们需要指定使用的整数类型?
  3. 在这种情况下,C 和 C++ 的行为是否不同?

最佳答案

在 C 中,十六进制文字获得第一个类型 int , unsigned int , long , unsigned long , long longunsigned long long如果它没有后缀,它可以表示它的值。如果 C++ 具有相同的规则,我不会感到惊讶。

如果你想给文字一个比默认情况下更大的类型,或者如果你想强制其签名,你需要一个后缀,例如考虑

1 << 43;

没有后缀,那是(几乎可以肯定)未定义的行为,但是 1LL << 43;例如就可以了。

关于c++ - 我们什么时候需要提及/指定数字文字的整数类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10249072/

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