gpt4 book ai didi

c++ - -0 在 C 和 C++ 中意味着什么?

转载 作者:行者123 更新时间:2023-12-03 06:53:39 24 4
gpt4 key购买 nike

我正在用 C/++ 编写算法,当我使用打印语句(非常专业,我知道)进行调试时,我看到了一个奇怪的值:-0。这与常规 0 的含义相同还是会导致错误?如果是这样,我该如何修复这些错误?

最佳答案

在这两种语言中,-0int 常量/文字 0 的一元否定。

如果你的 int 是 2 的补码(最有可能在 C 中,并且必须来自 C++20),那么它与 0 完全相同,并且没有理智格式化程序会为 0 打印 -0

如果您的 int 是 1 的补码或带符号的大小,则 -0 是一个带符号的负零。它将在数值上与 0 进行比较,但其位模式不同。

您可以通过加零将带符号的负零转换为零!

最有可能的是,您的 print 语句正在输出一个略微负的浮点值,您的格式正在向零四舍五入,因此您真的没有什么可担心的。

关于c++ - -0 在 C 和 C++ 中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64196626/

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