我知道c#默认是10进制的如:
   int test=512;//这是10进制的512;
   int test2=0x200;//这也是10进制的512;
   int test=?//二进制 8进制怎么表示;

解决方案 »

  1.   

    在.net Framework中,System.Convert类中提供了较为全面的各种类型、数值之间的转换功能。其中的两个方法可以轻松的实现各种进制的数值间的转换:Convert.ToInt32(string value, int fromBase):可以把不同进制数值的字符串转换为数字,其中fromBase参数为进制的格式,只能是2、8、10及16:如Convert.ToInt32(”0010”,2)执行的结果为2;Convert.ToString(int value, int toBase):可以把一个数字转换为不同进制数值的字符串格式,其中toBase参数为进制的格式,只能是2、8、10及16:如Convert.ToString(2,2)执行的结果为”0010”现在我们做一个方法实现各种进制间的字符串自由转换:选把它转成数值型,然后再转成相应的进制的字符串:
    public string ConvertString(string value, int fromBase, int toBase){   int intValue = Convert.ToInt32(value, fromBase);   return Convert.ToString(intValue, toBase);
    }
      

  2.   

    Convert.ToInt32(string value, int fromBase): 
    可以把不同进制数值的字符串转换为数字,其中fromBase参数为进制的格式,只能是2、8、10及16: 
      

  3.   

    十六进制和十进制相互转换
    byte b1= 15;
    byte b2= 6;
    ushort s= (ushort)((b2<< 8) + b1);
      

  4.   

    C/C++支持一下表示:
      1.   十进制。比如20,457;   
      2.   十六进制,以0x开头。比如0x7a;   
      3.   八进制,以0开头。比如05,0237C#仅仅支持 
      1.   十进制。比如20,457;   
      2.   十六进制,以0x开头。比如0x7a; 而对于2进制的表示法各种C语系语言都不支持.其他语系是否支持我不知道.所以楼主的需求无法解决.不过其实如果你需求不是非常特别的话 依靠转换来解决是很方便的途径.楼上几位都给出了答案我就不说了.
      

  5.   

    c#里有专门的函数可以解决,Convert.ToInt32(string value, int fromBase): 可以将常用的进制进行转换。
      

  6.   

    int intValue = Convert.ToInt32(value, fromBase);   return Convert.ToString(intValue, toBase);
      

  7.   

    Convert.ToInt32(string value,int fromBase)
      

  8.   


    int m = 09;
    在vc6.0上编译是会出错的