如题,比如 int a=207;
换算成二进制是1100 1111,最前一个为符号位,需要先求反码再+1才能得到带符号的十进制数,c#中有没有现成的函数,能直接转换的?如果没有,用c#如何实现反码补码之类的运算,大大们给个例子,感谢。
分不多,求解答。

解决方案 »

  1.   


    public static int TwoToTen(string num2)
            {
                int num10 = 0;
                for (int i = 0; i < num2.Length; i++)
                {
                    num10 += (int)Math.Pow(2, i) *                              Convert.ToInt32(num2.Substring(num2.Length - i - 1, 1));
                }
                return num10;
            }
      

  2.   

    int a = 207;
    string s = Convert.ToString(a, 2);
    输出s
      

  3.   

    谢谢楼上的各位,我已经解决了,代码附上,散分。
                  int a = 209;        
                a = a - 1;
                a = ~a;
                string s = Convert.ToString(a, 2);
                string ss = s.Substring(32 - 6, 6);
                int aa = Convert.ToInt32(ss, 2); 
                label1.Text =(0-aa).ToString();