【发布时间】:2021-01-06 20:40:57
【问题描述】:
有没有一种简单的方法可以将十进制/ascii 6 位十进制数从 1 转换为 100 为二进制表示? 更具体地说,我对 6 位二进制 ascii 感兴趣。所以我做了这个来获得int 32。 例如,“u”在标准十进制 ascii 中更改为 61 而不是 117。 那么这个 61 需要是“111101”而不是传统的“01110101”,但是在这个 48 + 8 数学之后它并不重要,因为现在它是正常的二进制,只使用了 6 位。
foreach (char c in partToDecode)
{
var sum = c - 48;
if (sum>40)
{
sum = sum - 8;
}
找到了这个,但我不知道如何将它转移到 c#
void binary(unsigned n) {
unsigned i;
// Reverse loop
for (i = 1 << 31; i > 0; i >>= 1)
printf("%u", !!(n & i));
}
. . .
binary(65);
【问题讨论】:
-
string result = Convert.ToString(source, 2).PadLeft(6, '0'); -
@DmitryBychenko:我已经尝试过了,下划线 2 和 CS1503“无法从 int 转换为 System.Iformat.Provider”
-
@Jacob2396
source必须是int、byte、long或short才能正常工作。如果您有无符号类型,则必须强制转换它。 -
这能回答你的问题吗? Convert integer to binary in C#