在.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); }
Convert.ToInt32(string value, int fromBase): 可以把不同进制数值的字符串转换为数字,其中fromBase参数为进制的格式,只能是2、8、10及16:
public string ConvertString(string value, int fromBase, int toBase){ int intValue = Convert.ToInt32(value, fromBase); return Convert.ToString(intValue, toBase);
}
可以把不同进制数值的字符串转换为数字,其中fromBase参数为进制的格式,只能是2、8、10及16:
byte b1= 15;
byte b2= 6;
ushort s= (ushort)((b2<< 8) + b1);
1. 十进制。比如20,457;
2. 十六进制,以0x开头。比如0x7a;
3. 八进制,以0开头。比如05,0237C#仅仅支持
1. 十进制。比如20,457;
2. 十六进制,以0x开头。比如0x7a; 而对于2进制的表示法各种C语系语言都不支持.其他语系是否支持我不知道.所以楼主的需求无法解决.不过其实如果你需求不是非常特别的话 依靠转换来解决是很方便的途径.楼上几位都给出了答案我就不说了.
int m = 09;
在vc6.0上编译是会出错的