当前位置: 首页 > 知识库问答 >
问题:

2的补码二进制期望输出

卢宜然
2023-03-14

1)11111111>0111111

我认为这是错误的,因为第一个数字代表符号,所以我们比较负值和正值。

2)(11111111+11111111)>(00000001-00000010)

谢谢你。

共有1个答案

毛正浩
2023-03-14

关于在C++中使用这一点,有很多位操作库(只要搜索“C++位操作库”就会得到很多结果)。举几个例子:

  1. https://github.com/chris--a/bitbool
  2. https://www.slac.stanford.edu/comp/unix/gnu-info/libg++_23.html

你可能会也可能不会找到一个有二的补语的内置概念。不管怎样,在这些库中的一个库提供的功能之上实现这种功能对您来说可能是一个有用的练习,例如,通过对它们提供的东西进行子类化,或者编写您自己的类,将现有的库实现封装为数据成员。

 类似资料:
  • 问题内容: Python中的整数以二进制补码存储,对吗? 虽然: 和: 真是la脚。如何获取python以实数二进制位给我数字,并且没有0b开头?所以: 问题答案: 不确定如何使用标准库获取所需的内容。那里有一些脚本和软件包可以为您完成转换。 我只是想指出“为什么”以及为什么它不la脚。 bin()不返回二进制位。它将数字转换为二进制字符串。根据python语言定义,前导‘0b’告诉解释器您正在处

  • 问题内容: 我知道用和 将小数转换为二进制(在这里我取32位结果的低16位)。 我想做的是另一种方法,并采用16位二进制补码二进制字符串并将其转换为十进制。 即 而不是 我该怎么做? 问题答案: 您需要将结果读取到中。 此打印。

  • 我知道用和(其中我取32位结果的低16位)。 我想做的是另一种方法,取一个16位2的补码二进制字符串并转换为十进制。 即。 而不是 我该怎么做?

  • 问题内容: 因此,计算机使用二进制补码在内部表示有符号整数。即,-5表示为^ 5 +1 =“ 1111 1011”。 但是,尝试打印二进制表示形式,例如以下代码: 输出。不太符合我的期望。格式是不同的还是还是不使用二进制补码? 有趣的是,转换为无符号int会导致“正确”位模式: 输出是-的2s补码。 因此,在我看来,值内部实际上是在使用二进制补码,但格式是打印无符号并加a 。 有人可以澄清吗? 问

  • 问题内容: 我有一个代表2的补码的十六进制字符串。是否有一种简单的方法(库/函数)将十六进制转换为十进制而不直接使用其位? EG这是给定左侧十六进制的预期输出: 谢谢! 问题答案: 这似乎在欺骗Java转换数字而不强制给出正结果: 当然,这种情况仅适用于8、16、32和64位2的补码:

  • 这是一个考题,我想一定有更有效的方法。(我也知道有一种方法可以直接转换二进制数,而不需要经过二进制字符串,但我不知道如何转换)。 这就是问题所在: 给出了一个由Q字符组成的非空零索引字符串S。该字符串的周期是最小的正整数P,使得: P≤ Q/2和S[K]=S[kp]表示0≤ K 例如,8是“Codilityco”的时期。如果M是N的二进制表示的周期,则正整数M是正整数N的二进制周期。 例如,4是9