我怎样才能得到一个值的二进制表示[重复]
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