C#常用进制关系转换

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 进制转换测试
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

    private void button1_Click(object sender, EventArgs e)
    {
		//C#中的数制默认是十进制的
		//即:
		//①从外部传进来的字符默认转换为10进制运算,
		//②在代码里默认也是按十进制显示
		//③如果涉及到其他进制则需要进制转换后运算或者显示
        
		//计算:将传入的字符默认转换为十进制的数值,C#底层还是以十进制进行算数运算
		//计算:如果传入的字符是其他进制(如十六进制),要把该字符转换为十进制的整数再运算string->int
		//显示:C#计算后是十进制整型的结果,如果要显示为其他进制的,用Convert方法进行转换int->string

        //以下是示例:
		
		//一.字符转int
		//string→int
		//把以下各进制的字符转换为int型(结果是十进制的)
       
        int oct = Convert.ToInt32("20", 8);   //结果:[oct=16(十进制)]即:八进制字符"20"→十进制16

        int hex = Convert.ToInt32("10", 16);  //结果:[hex=16(十进制)]即:十六进制字符"10"→十进制16

        int dec = Convert.ToInt32("16");      //结果:[dec=16(十进制)]即:十进制字符"16"→十进制16,二者一致

        int bin = Convert.ToInt32("10000", 2);//结果:[dec=16(十进制)]即:二进制的"10000"→十进制16    
		
		textBox1.AppendText("字符转各进制整数");
        textBox1.AppendText(oct + "\r\n");
        textBox1.AppendText(hex + "\r\n");
        textBox1.AppendText(dec + "\r\n");
        textBox1.AppendText(bin + "\r\n");


        //二.int转字符型
		//int→string
		//int型的数值转换为其他进制的字符用于显示
        string octStr = Convert.ToString(10, 8);  //十进制的10→转换为八进制的字符显示,结果是:"12"
        string hexStr = Convert.ToString(10, 16); //十进制的10→转换为十六进制字符显示:结果是:"A"
        string binStr = Convert.ToString(10, 2);  //十进制的10→转换为二进制的字符显示:结果是:"1010"  



        
		//三.运算示例:
		textBox1.AppendText("各进制整形常量的计算,显示结果是十进制字符");
        //常量运算
        //C#中的常量默认是十进制,如果是十六进制加0X 前缀表示 ,二进制:前面加 0b  前缀
        textBox1.AppendText((0X10 + 0X1) + "\r\n");//十六进制加法运算,结果17(十进制)

        textBox1.AppendText((010 + 010) + "\r\n");
        //**??八进制数值常量运算,按我查到的规则八进制的常量应该是以0前缀,但是计算结果不对,按十进制算
        //*??尚待商榷!!!

        textBox1.AppendText((10 + 1) + "\r\n");//十进制加法运算(系统默认),结果11(十进制)


        textBox1.AppendText((0b111 + 0b111) + "\r\n");//二进制加法运算,结果14(十进制)


    }
}

}

posted @   搬砖的L先生  阅读(254)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示