用《叩响C#之门》复习C#基础知识 第一章 初识编程

第一章 初识编程


1、C#编译情况简述。
C#属于高级语言,但和一般的高级语言不同的是,C#语言要经过两次编译。我们编写好源码之后进行第一次编译,将源代码编译为微软中间语言(MSIL),就可以发布软件了;当用户使用软件时,MSIL代码载入内存后会进行第二次编译,中间语言被编译为机器语言,以供计算机执行。第二次编译只在代码首次载入内存时发生,编译结果被暂时保存起来(保存到哪里?是内存中吗?存留疑问),以供重复利用。并且第二次编译是按需编译的,即只编译刚好用到的代码,而不是编译整个程序。所以第二次编译的过程被称为即时编译(Just-in-time,JIT)。MSIL有的地方直接成为IL语言,可以非常快速地编译为机器代码,这样做的好处是编译器可以根据硬件环境对程序进行优化。

2、把非十进制数转换为十进制数的方法
Convert.ToInt32("非十进制数",非十进制数的基数);
如:Convert.ToInt32("110100101",2);
    Convert.ToInt32("FE19A",16);

3、把十进制数转换为非十进制数
Convert.ToString(十进制数,要转换成的非十进制数的基数);
如:Convert.ToString(999,2);//将999转换为2进制数
    Convert.ToString(999,16);//将999转换为16进制数

注:C#只有十进制、二进制、八进制、十六进制,其他非常规进制应该是不支持的,编译时能通过,但运行时会出错。

 

4、数据和内存

内存是由千千万万个具有两个状态的电子开关组成。电子开关打开时代表“1”,闭合时代表“0”,计算机内存就是一个庞大的电子开关集合体。这些电子开关成为比特(bit),是最小的存储单位,比特也叫位。内存中的数据可以看作是由0和1组成的数据流。

比特一般用小写字母b表示,字节用大写字母B表示。每个字节都有相应的位置编号,这个编号就是这个字节的“地址”。通过地址可以找到内存中任何一个字节的内容。

 

using System;
namespace Test
{
    public class Program
    {
        static void Main()
        {
            Console.WriteLine(Convert.ToString(999, 16));
            Console.WriteLine(Convert.ToString(999, 12));//编译时不出错,运行时出错
            Console.WriteLine(Convert.ToInt32("777", 8));
            Console.WriteLine(Convert.ToInt32("777", 15));//编译时不出错,运行时出错            
            Console.ReadLine();
        }
    }
}
posted on 2009-10-07 21:51  友闻语上  阅读(328)  评论(0编辑  收藏  举报