0基础学C#笔记03:进制转换

这篇具有很好参考价值的文章主要介绍了0基础学C#笔记03:进制转换。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

首先我们知道在计算机当中所有的数据都是用二进制存储,但是我们不方便记忆、查看、使用,所以在代码当中一般使用的是十进制。不过其实我们在代码中我们可以直接使用二进制、十六进制或其它进制。

int a = 0b1010;
Console.WriteLine(a);

int b = 0x1A;
Console.WriteLine(b);

0基础学C#笔记03:进制转换,0基础学习C#笔记,c#,开发语言


一、十进制转二进制、八进制、十六进制

1、类方法:使用Convert类方法ToString

Console.WriteLine("整型:" + x + "的二进制为:" + Convert.ToString(x, 2));
Console.WriteLine("整型:" + x + "的八进制为:" + Convert.ToString(x, 8));
Console.WriteLine("整型:" + x + "的十六进制为:" + Convert.ToString(x, 16));

打印结果
0基础学C#笔记03:进制转换,0基础学习C#笔记,c#,开发语言

2、自己写:

  • 十进制转二进制
 /// <summary>
 /// 转换为二进制
 /// </summary>
 /// <param name="value"></param>
 /// <returns></returns>
 public  static  int  ToErJin( int  value)
 {
     int  temp = 0;
     int  shang = 1;
     int  yushu;
     while  (shang != 0)
     {
         shang = ( int )value / 2;
         yushu = value % 2;
         value = shang;
         temp += yushu;
         if  (shang != 0)
         {
             temp = temp * 10;
         }
     }
     //最后将 temp 倒序
     string  tempStr = temp.ToString();
     int  tempLength = tempStr.Length;
     string  resultStr =  string .Empty;
     for  ( int  i = 0; i < tempLength; i++)
     {
         resultStr = tempStr[i] + resultStr;
     }
     return  int .Parse(resultStr);
 }

二、二进制、八进制、十六进制转十进制

1、使用Convert类方法ToInt32

Console.WriteLine("二进制1010的十进制为:" + Convert.ToInt32("1010", 2));
Console.WriteLine("八进制10的十进制为:"  + Convert.ToInt32("10", 8));
Console.WriteLine("十六进制1a的十进制为:" + Convert.ToInt32("1a", 16));

打印结果
0基础学C#笔记03:进制转换,0基础学习C#笔记,c#,开发语言

2、自己写

/// <summary>
/// 转换为十进制(主要算法:个位数 * 2的零次方 + 十位数 * 2的一次方 + 百位数 * 2的二次方 + ...)
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public  static  int  ToShijin2( int  value)
{
    int  temp = 0;
    int  shang = value;
    int  yushu;
    int  mark = 0;
    while  (shang != 0)
    {
        yushu = shang % 10;
        shang = shang / 10;
        temp += yushu * ( int )Math.Pow(2, mark);
        mark++;
    }
    return  temp;
}
/// <summary>
/// 二进制转十进制的另一种方法(主要算法:1110111 = 1 * 2~6 + 1 * 2~5 + 1 * 2~4 + 0 * 2~3 + 1 * 2~2 + 1 * 2~1 + 1 * 2~0)
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public  static  int  ToShijin( int  value)
{
    string  strValue = value.ToString();
    int  valueLength = strValue.Length;
    int  result = 0;
    for  ( int  i = 0; i < valueLength; i++)
    {
        result +=  int .Parse(strValue[i].ToString()) * ( int )Math.Pow(2, valueLength - 1 - i);
    }
    return  result;
}
}

经验总结

我们有时十进制转二进制时只会显示少于8位的01,我们可以通过PadLeft进行数据填充

Console.WriteLine("整型:" + x + "的二进制为:" + Convert.ToString(x, 2).PadLeft(8,'0'));

打印结果
0基础学C#笔记03:进制转换,0基础学习C#笔记,c#,开发语言文章来源地址https://www.toymoban.com/news/detail-594265.html

扩展延伸

1.十六进制转浮点数

byte[] bt = new byte[4] { 0x7b, 0x14, 0x2e, 0x3f };
float ff = BitConverter.ToSingle(bt, 0);//0.68

2、浮点数转十六进制数

 float f = 0.68f;
 string str1 = BitConverter.ToString(BitConverter.GetBytes(f)).Replace("-", ""); //结果:7B142E3F
 string str2 = BitConverter.ToString(BitConverter.GetBytes(f));    //结果:7B-14-2E-3F

到了这里,关于0基础学C#笔记03:进制转换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C#学习笔记--变量类型的转换

    转换原则 同类型的大的可以装小的,小类型的装大的就需要强制转换。 隐式转换: 同种类型的转换: 不同类型的转换: char类型可以隐式转换成数值型,根据对应的ASCII码来进行转换。 无符号的无法隐式存储有符号的,而有符号的可以存储无符号的。 显示转换 括号强转(注

    2024年02月08日
    浏览(36)
  • C# 学习笔记2-控制流与类型转换

    关于变量的简单操作 判断 循环 类型转换 异常处理 检查数字类型的溢出 一元运算符 Unary operators x++ , ++x , x-- , --x 。 这些运算符同 C++。 postfix operator 后置运算符 还有 typeof(int) , sizeof(int) 。 二元运算符 Binary arithmetic operators 无非是: + 、 - 、 * 、 / 、 % modulus 模 remaind

    2024年02月02日
    浏览(27)
  • C#底层库--任意进制转换器(可自定义顺序字符,2、4、8、16、18进制都支持)

    C#底层库–RegexHelper正则表达式辅助类 本文链接:https://blog.csdn.net/youcheng_ge/article/details/109745286 C#底层库–程序日志记录类 本文链接:https://blog.csdn.net/youcheng_ge/article/details/124187709 C#底层库–排序算法帮助类 本文链接:https://blog.csdn.net/youcheng_ge/article/details/124495730 C#底层库–

    2024年02月06日
    浏览(35)
  • 自然语言处理学习笔记(十一)————简繁转换与拼音转换

    目录 1.简繁转换 2.拼音转换 1.简繁转换 简繁转换指的是简体中文和繁体中文之间的相互转换。可能有的人觉得,这很简单, 按字转换 就好了。HanLP提供了这样的朴素实现 CharTable, 用来执行字符正规化(繁体-简体,全角-半角,大写-小写) 事实上,汉字历史悠久,地域复杂,

    2024年02月07日
    浏览(36)
  • C语言【进制转换】35:输出二进制补码

    总时间限制:  1000ms 内存限制:  65536kB 描述 输入一个整型(int)的整数,输出它的32位二进制补码。 输入 一个整型整数。 输出 输出一行,即该整数的补码表示。 样例输入 样例输出 00000000000000000000000000000111 代码实现: 首先要明白 (按位与)和 (左移)的用法 规则: 11=1 10=

    2024年02月07日
    浏览(48)
  • C语言之进制转换

    C语言规定,在八进制数字前要加0(注意这里是数字零,不是大写字母O),在十六进制数字前要加0X或0x(注意这里同样是数字零,不是大写字母O),而在十进制数字前不需要加任何东西。 汇编语言中,在数字后加字母B表示二进制数字,在数字后加字母O表示八进制数字,在

    2023年04月09日
    浏览(18)
  • C语言进制转换(全)

    可以通过不断地对10取余数并向左移动二进制位来将十进制数转换为二进制数。具体步骤如下: 1.定义一个数组存放二进制数。 2.定义一个变量记录数组下标。 3.循环取10的余数,直到10为0为止。 4.每次取余数后将其存入数组中。 5.每次取余数后将数组下标加1。 6.最后将数组

    2024年02月08日
    浏览(25)
  • 【学习笔记】Python核心技术与实战-基础篇-03列表和元组,到底用哪个?

    列表和元组,都是一个可以放置任意数据类型的有序集合。 在绝大多数编程语言中,集合的数据类型必须一致。不过,对于 Python 的列表和元组来 说,并无此要求: 列表是动态的,长度大小不固定,可以随意地增加、删减或者改变元素(mutable)。 而元组是静态的,长度大小

    2024年02月08日
    浏览(38)
  • 【Python 千题 —— 基础篇】进制转换:十进制转二进制

    题目描述 计算机底层原理中常使用二进制来表示相关机器码,学会将十进制数转换成二进制数是一个非常重要的技能。现在编写一个程序,输入一个十进制数,将其转换成二进制数。 输入描述 输入一个十进制数。 输出描述 程序将输入的十进制数转换为二进制数,并输出其

    2024年02月07日
    浏览(52)
  • C语言字符串转换为16进制

    方法二:自定义转换函数 输出结果: 这两种方法都可以将C语言字符串逐个字符转换为对应的16进制表示。第一种方法使用了sprintf函数来格式化输出,第二种方法则是通过强制类型转换将字符转换为无符号字符(unsigned char),然后使用printf函数输出对应的十六进制表示。

    2024年02月05日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包