我怎样才能得到一个值的二进制表示[重复]

Posted

技术标签:

【中文标题】我怎样才能得到一个值的二进制表示[重复]【英文标题】:How can I get the binary representation of a value [duplicate] 【发布时间】:2012-10-19 09:35:27 【问题描述】:

可能重复:Decimal to binary conversion in c #

我有 3、432、1 等数字。我需要将这些数字转换为零和一的集合,然后将这些位存储在整数数组中,但不确定如何获得任何整数的位表示。

【问题讨论】:

请把“c#整数转二进制”给google。第一个链接是(surprise-surprise)***.com/questions/2954962/… PS:在尝试与人类合作之前,请务必咨询谷歌 - 不要认为您的问题是独一无二的。 ...这不是他的意思 "but not sure how I can get the bits representation of any integer." 重复回答。 @Rawling:使用相同的魔法工具(谷歌),您可以将问题更改为“c# integer to array of bytes”并得到(惊喜)另一个问题***.com/questions/1318933/c-sharp-int-to-byte 但事实上,对于有些人使用像谷歌这样困难的工具是一门火箭科学 @zerkms 现在谁能想到你可以在 Google 上找到 that。 【参考方案1】:

使用Convert.ToString Method (Int32, Int32)

将 32 位有符号整数的值转换为其等效字符串 在指定的基础上表示。

int val = 10;
string binaryNumberString = Convert.ToString(val, 2);

要将它们放入 int 数组中,请尝试:

int[] arr = new int[binaryNumberString.Length];
int i=0;
foreach (var ch in binaryNumberString)

    arr[i++] = Convert.ToInt32(ch.ToString());

【讨论】:

嗯,以前不对,但现在是了! +1【参考方案2】:

你可以使用Convert.ToString()方法

int n = 50;
int b = 2;

string binaryForm = Convert.ToString(n, b);

【讨论】:

感谢回复,但是在这种情况下base是什么意思呢? @Vinod base 是 c# 中的关键字 是的,我知道,但它会如何影响返回的位值,我的意思是说我将基数定义为 2 如果我将基数定义为 8 会有什么不同 @Nick,我的错。是的,变量应该重命名为非关键字。 int reqBase = 2;

以上是关于我怎样才能得到一个值的二进制表示[重复]的主要内容,如果未能解决你的问题,请参考以下文章

c语言:输入两个整数m和n,计算需要改变m的二进制表示中的多少位才能得到n

为啥 chr() 返回一个十六进制值,我怎样才能让它只返回字符 [重复]

js怎样获取字符ASCII码?

十进制限制jQuery [重复]

为啥带有十进制值的指数表示法会失败? [关闭]

以十六进制编码/解码字符串并返回