上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
代码 2-8:整数移位运算(<ShifeDemo>\Program.cs)
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ShiftDemo { class Program { static void Main(string[] args) { int shiftNum = 5; Console.WriteLine("{0} >> 2 = {1}", shiftNum, shiftNum >> 2); Console.WriteLine("{0} << 2 = {1}", shiftNum, shiftNum << 2); } } }
运行结果如图2-4所示。
图2-4
2.2.5 高质量代码准则:准确使用整数
理论上讲,整数是计算机里运算最快的数据类型,但这和计算机的字长也有一定的关系,比如在32位的操作系统中,一般认为使用int或uint类型的数据会比其他类型的数值运算更有效率。当然,实际效果究竟如何,你需要在代码进行真实的测试时才会得到准确的结论,稍后我们会看到关于这方面的测试。
实际上,如果我们在代码中使用了整数的字面值,如100、123等,系统会自动将它们当作int类型的数据。如果你需要将整数的字面值指定为一些需要的类型,可以为字面值加下后缀来指定,常用的有:
● U,说明整数为uint类型。
● L,说明整整为long类型。
● UL,说明整数为ulong类型。
实际上,标识数值类型时使用小写字母也是可以的,但小写的L(l)容易和数字1混淆,所以,一般来说,使用大写字母会更便于阅读。
除此之外,在使用整数时,我们应该注意以下几个方面:
● 整数的除法运算结果依然是整数,而不会是浮点数,如果需要得到浮点数结果,应该使用浮点数进行运算。
● 关注整数在运算或类型转换过程中的溢出问题,并需要注意在计算中间值时可能会产生的溢出情况。
● 应预防除数为零的情况。
● 在项目中,应尽可能地制定统一的整数使用标准,比如在没有特殊要求的情况下,就默认使用int类型。