【问题标题】:How to calculate the 2's Compliment of a decimal or Hex number?如何计算十进制或十六进制数的 2 的恭维?
【发布时间】:2014-12-08 16:56:12
【问题描述】:

如何在 C# 中计算十进制或十六进制数的 2 的补码,在 BCL 中是否有可用的内置函数,我有一些东西但不工作,给定代码有什么问题

var number = 3092;
var onceC = ~number;
var twoC = onceC + 1;

【问题讨论】:

  • 查看Link
  • 不工作是什么意思?

标签: c# .net asp.net-mvc


【解决方案1】:

有符号整数类型已经使用二进制补码来表示负数,你不需要对它们做任何事情。

如果您以十六进制格式显示负数,您会看到二进制补码的作用:

int number = -3092;
Console.WriteLine(number.ToString("x"));

输出:

fffff3ec

如果要将正数转换为负数,使其使用二进制补码,请使用- 否定运算符:

number = -number;

【讨论】:

    猜你喜欢
    • 2019-01-06
    • 2019-04-29
    • 2019-04-16
    • 1970-01-01
    • 2014-11-03
    • 2011-12-09
    • 2019-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多