Questions tagged «twos-complement»

23
什么是“ 2的补码”?
我正在上计算机系统课程,并且在某种程度上一直在努力与Two's Complement交流。我想了解它,但是我读过的所有内容都没有为我带来帮助。我已经阅读了维基百科文章和其他各种文章,包括我的教科书。 因此,我想开始这个社区Wiki帖子,以定义Two's Complement是什么,如何使用它以及它如何在诸如强制类型转换(从有符号到无符号,反之亦然),按位操作和移位操作等操作期间影响数字。 我希望有一个清晰简洁的定义,使程序员容易理解。


11
〜x +〜y ==〜(x + y)始终为假?
此代码是否总是评估为false?这两个变量都是二进制补码整数。 ~x + ~y == ~(x + y) 我觉得应该有一些数字可以满足条件。我尝试测试之间的数字-5000,5000但从未实现平等。有没有办法建立方程式来找到条件的解? 将一个交换为另一个会在我的程序中引起隐患吗?

10
在Java中如何在位级别内部表示整数?
我试图了解Java如何在内部存储整数。我知道所有Java基本整数都是带符号的(短符号除外?)。这意味着该字节的字节数少了一位。 我的问题是,是否所有整数(正数和负数)都存储为二进制补码,或者仅是负数在二进制补码中? 我看到规格说明了x bit two's complement number。但是我经常感到困惑。 例如: int x = 15; // Stored as binary as is? 00000000 00000000 00000000 00001111? int y = -22; // Stored as two complemented value? 11111111 11111111 11111111 11101010 编辑 要清楚一点 x = 15 In binary as is: `00000000 00000000 00000000 00001111' Two's …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.