c - x = -x 对于哪两个 int 值?

标签 c

我正在上 C++ 编程课,并且正在参加练习考试。其中一个问题是“在标准数学中,0 是唯一一个 x = -x 的值。但是,在 C 语言中,有两个这样的值。它们是什么?”

我知道其中一个是 0。另一个可能是什么?最小可能的负数?谢谢!

最佳答案

但是,在 C 中,有两个这样的值。它们是什么?

这个说法是错误的。

对于 int 值,唯一的值 x == -xx = 0

-INT_MIN 无法计算,因为 -INT_MIN 调用未定义的行为。

请注意,对于浮点 (IEEE-754),0.0 有两个不同的值:+0.0-0.0,并且此表达式产生1:

 0.0 == -0.0

关于c - x = -x 对于哪两个 int 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23550942/

相关文章:

c - fprintf 不工作 C

c - 套接字地址显示0.0.0.0,导致消息发送失败

c++ - setcontext 和 makecontext 调用通用函数指针

c - 表中的最小值和最大值

java - 将代码从 C 转换为 Java

在 Linux 上交叉构建第三方库位置

C++ 指针。如何为指针结构赋值?

c - 使用register_chrdev动态分配主编号时,保留256个次编号有什么意义吗?

c - MOV 和 MOV ptr 的区别

c - 操作数类型不兼容 ("float *"和 "const char *")