• 计算机中数据实体和数据表示形式(以C#为例)


    摘自网络的一段话:

        “在程序代码中,可以用多种方式表示数据,十进制、十六进制、八进制都是常用的表示方式,但计算机内部永远就只使用二进制,与你写程序时用什么无关。你说要定义数组int a[10],其中涉及具体数据表示的就只有十进制数10,但这个数值你完全可以用十六进制表示,写int a[0x0A],最终结果都是一样的,数组a都是(十进制)10个元素。至于如果你说数组a中要储存十六进制数据,那也是跟这个完全一样,计算机内部就只认识那些二进制数,呈现出来人眼要观察那些数据,是你希望它以什么进制显示出来给你看而已,你希望看十进制,就命令它用十进制显示,希望看十六进制,就命令它用十六进制显示,无论显示的是什么进制,数值本身永远是一样的,输入时,也不管你用什么进制输入,都以该进制的实际数值储存。”

    实践:

     1    ////16进制(2进制,8进制)数转换为10进制
     2             //方法一
     3             //得到一个16进制数,存入字符串变量中,
     4             string s16a = (0x120).ToString();//s16a为"288",期望为"0x120"。
     5             string s16b = "0x120";
     6             //使用Convert方法转换,把16进制的s转换为10进制数放入变量中
     7             int num11 = Convert.ToInt32(s16a, 16);//num11值为648,不是期望的结果
     8             int num12 = Convert.ToInt32(s16b, 16);//num12值为288
     9             Console.WriteLine("num11为{0},num12为{1},转换前s16a为{2},s16b为{3}", num11, num12, s16a, s16b);
    10             //方法二
    11             //如果存入int变量中,会自动转换为10进制
    12             int num2 = 0x120; //num值为288
    13 
    14             ////10进制数转换为16进制(2进制,8进制)
    15             int i10 = 138;
    16             string s16 = Convert.ToString(i10, 16);
    17             string s8 = Convert.ToString(i10, 8);
    18             string s2 = Convert.ToString(i10, 2);
    19             Console.WriteLine("s16为{0},s8为{1},s2为{2},转换前i10为{3}", s16, s8, s2, i10);
    20 
    21             Console.ReadKey();
  • 相关阅读:
    46、Spark SQL工作原理剖析以及性能优化
    45、sparkSQL UDF&UDAF
    44、开窗函数及案例
    43、内置函数及每日uv、销售额统计案例
    42、JDBC数据源案例
    41、Hive数据源复杂综合案例
    40、JSON数据源综合案例实战
    39、Parquet数据源之自动分区推断&合并元数据
    Java 的String类
    Java学习之旅基础知识篇:面向对象之封装、继承及多态
  • 原文地址:https://www.cnblogs.com/net515/p/3302221.html
Copyright © 2020-2023  润新知