【发布时间】:2018-07-15 18:52:46
【问题描述】:
我正在学习 C++,想知道为什么会这样。
我知道第一位处理值是否为负。
但是,如果你有 0 1 0 1 0 并且做 ~,你会得到 1 0 1 0 1 对吗?
请有人帮我解决这个问题。谢谢!
【问题讨论】:
-
请添加导致这种混乱的代码。
-
高度相关(如果不是骗子):stackoverflow.com/questions/655257/…
-
那么你认为 1 0 1 0 1 应该是什么值?我希望您认为它应该是-5,如果您的计算机使用有符号幅度,那将是正确的,但几乎每台计算机都使用称为二的补码的不同系统。谷歌一下,它会解释一切。
-
没有代码,只有概念。
-
这里有一些让你大吃一惊的东西。 ~0 不是 -0,没有这样的东西。 〜0给你-1。想一想,花几分钟,也许你会更清楚。
标签: c++ bit-manipulation