c#进制是怎么转换的?
大写字母c的ascii码的八进制是:小写c的ASCII码值是99;大写C的ASCII码值是67。
标准ASCII码使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。67是十进制,后面的每个字母加1就可以,加到F就是加3,为70。
C语言中的表达:
在C语言里,整数有三种表示形式:十进制,八进制,十六进制。其中以数字0开头,由0~7组成的数是八进制。以0X或0x开头,由0~9,A~F或a~f 组成是十六进制。除表示正负的符号外,以1~9开头,由0~9组成是十进制。
1、十进制:除表示正负的符号外,以1~9开头,由0~9组成。如 128,+234,-278。
2、八进制:以0开头,由0~7组成的数。如 0126, 050000。
3、十六进制:以0X或0x开头,由0~9,A~F或a~f 组成。如 0x12A, 0x5a000。
用ToString()都可以转换
要使用ToString()进行进制转换,需要在调用该方法时传递一个格式字符串,该格式字符串指定要使用的进制。以下是一些常见的格式字符串:
D: 十进制表示形式。
X: 十六进制表示形式,使用大写字母A到F。
x: 十六进制表示形式,使用小写字母a到f。
B: 二进制表示形式。
O: 八进制表示形式。
以下是代码以及输出
int decimalNumber = 42;
string binaryNumber = decimalNumber.ToString("B");
string hexNumber = decimalNumber.ToString("X");
string octalNumber = decimalNumber.ToString("O");
Console.WriteLine($"Binary: {binaryNumber}");
Console.WriteLine($"Hexadecimal: {hexNumber}");
Console.WriteLine($"Octal: {octalNumber}");
输出结果:
Binary: 101010
Hexadecimal: 2A
Octal: 52
在上面的示例中,将整数42转换为二进制、十六进制和八进制表示形式,并使用ToString()方法和相应的格式字符串进行转换。转换后的结果分别存储在binaryNumber、hexNumber和octalNumber变量中,并在控制台上打印输出。