1

有没有办法在 c# 中显示 int 的表示形式?

IE

1  = 00001
20 = 10100

等等

我尝试过使用 BitConverter,但没有成功。这应该很简单,但我找不到解决方案!

4

3 回答 3

7

Convert.ToString(值,基数)

将 32 位有符号整数的值转换为其指定基数中的等效字符串表示形式。指定 2 作为基数。

于 2013-08-14T01:26:00.547 回答
2

这是使用 linq 的单行代码:

var myint = 20;
var bytes = Enumerable.Range(0, 32).Select(b => (myint >> b) & 1);
// { 0, 0, 1, 0, 1, 0 ... }

当然,这是相反的顺序,要交换它只需使用:

var myint = 20;
var bytes = Enumerable.Range(0, 32).Select(b => (myint >> (31 - b)) & 1);
// { ..., 0, 1, 0, 1, 0, 0 }
于 2013-08-14T01:26:50.443 回答
1

您还可以查看使用BitArray

var array = new BitArray(BitConverter.GetBytes(1));
于 2013-08-14T01:29:11.183 回答