不确定我的方向是否正确。
我找不到有关波浪号的信息。
int n = 5;
int m = ~n;
string numAsString = Convert.ToString(~n, 2);
char[] NumAsChar = numAsString.ToCharArray();
long l = Convert.ToInt64(numAsString, 2);
Console.WriteLine(numAsString);
Console.WriteLine(l);
最佳答案
您可能正在寻找一个简单的答案。
int n = 5;
byte[] nbytes = BitConverter.GetBytes(n);
for(int i = 0 ; i < nbytes.Length; i++)
nbytes[i] = ~nbytes[i];
n = BitConverter.ToInt32(nbytes, 0);
编辑:实际上,您不能在字节[]上执行〜。你可以做
for(int i = 0 ; i < nbytes.Length; i++)
nbytes[i] = ~nbytes[i];
或根本不使用字节数组。
为了清楚起见,请注意您可以
n = ~n;
并跳过任何分离操作。但是您专门要求字节转换。
关于c# - 如何从十进制转换为二进制用〜将其反转并转换回十进制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38933682/