【问题标题】:Objective C Int to 2's Complement ConversionObjective C Int 到 2 的补码转换
【发布时间】:2017-09-16 00:38:48
【问题描述】:

如果它是负数,我正在尝试将我的 16 位整数转换为二进制补码。

目前,我正在使用 One 的补码运算符。我想我可以使用它,然后将二进制值加 1 以将其转换为二进制补码。但是,我无法执行 x = ~a + 1,因为这只会产生整数值 + 1。

如果我的过程是正确的,如何将 1 加到二进制整数上?如果不是,那么在 Objective-C 中将 16 位整数转换为 2 的补码最合适的方法是什么?

【问题讨论】:

    标签: c binary integer


    【解决方案1】:

    二进制补码是有符号数的一种表示,而不是值或运算。在几乎所有现代计算机上,二进制补码是有符号整数的标准表示。 (它是标准中允许的三种整数表示之一。)

    因此,如果您有任何带符号整数,它 以二进制补码表示。我认为你想要一个正数的“the”二进制补码。如果您的机器对有符号数使用二进制补码,这只是负值。

    int positiveValue = 5; 
    int twosComplement = -positiveValue;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-30
      • 2012-11-22
      • 1970-01-01
      • 2012-01-04
      • 1970-01-01
      • 2011-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多