夜光带你走进C#语言 基础版本(11)

夜光序言:

 

 

和阳光的人在一起,心里就不会晦暗;和快乐的人在一起,嘴角就常带微笑;和进取的人在一起,行动就不会落后;和大方的人在一起,处事就不小气;和睿智的人在一起,遇事就不迷茫;和聪明的人在一起,做事就变机敏。借人之智,完善自己。学最好的别人,做最好的自己。

 

 

 

 

 

 

 

 

 

正文:

&,|,^ 除了用于位运算,还可以用于逻辑运算,分别对应与,或,异或。

^ 运算符针对整型类型和 bool 预定义了二元 ^ 运算符。 对于整型类型,^ 会计算其操作数的按位异或。 对于 bool 操作数,^ 计算其操作数的逻辑异或;即,当且仅当其一个操作数为 true 时,结果才为 true。

Console.WriteLine(true ^ false);  // 返回 true
Console.WriteLine(false ^ false);  // 返回 false
Console.WriteLine(true ^ true);  // 返回 false

| 运算符针对整型类型和 bool 预定义了二元 | 运算符。 对于整型类型,| 会计算其操作数的按位 OR。 对于 bool 操作数,| 会计算其操作数的逻辑 OR;即,当且仅当其两个操作数皆为 false 时,结果才为 false。

Console.WriteLine(true | false);  // 返回 true
Console.WriteLine(false | false); // 返回 false

& 运算符为整型类型和 bool 预定义了二元 & 运算符。 对于整型类型,& 计算其操作数的逻辑按位 AND。 对于 bool 操作数,& 计算其操作数的逻辑 AND;即,当且仅当其两个操作数皆为 true 时,结果才为 true。

Console.WriteLine(true & false);  // 返回 false
Console.WriteLine(true & true);   // 返回 true

其中&,|的运算结果与&&,||完全相同,但&&和||的性能更好。因为&&和||都是检查第一个操作数的值,如果已经能判断结果,就根本不处理第二个操作数。

比如:

bool a = true;               
bool b = false;              
bool c = a || b;

检查第一个操作数a时已经得出c为true,就不用再处理第二个操作数b了。


C# 是用 <<(左移)>>(右移) 运算符是用来执行移位运算。

左移 (<<):将第一个操作数向左移动第二个操作数指定的位数,空出的位置补 0。

左移相当于乘. 左移一位相当于乘2;左移两位相当于乘4;左移三位相当于乘8。

x<<1= x*2
x<<2= x*4
x<<3= x*8
x<<4= x*16

同理, 右移即相反:

右移 (>>):将第一个操作数向右移动第二个操作数所指定的位数,空出的位置补 0。

右移相当于整除. 右移一位相当于除以 2;右移两位相当于除以 4;右移三位相当于除以 8。

x>>1= x/2
x>>2= x/4
x>>3= x/8
x>>4= x/16

 

因为位移比乘除速度快,对效率要求高,而且满足 2 的幂次方的乘除运方,可以采用位移的方式进行。


C# 判断

判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。

 

 

判断语句

C# 提供了以下类型的判断语句。点击链接查看每个语句的细节。

 描述
 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。
 一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。
 您可以在一个 ifelse if 语句内使用另一个 ifelse if 语句。
 一个 switch 语句允许测试一个变量等于多个值时的情况。
 您可以在一个 switch 语句内使用另一个 switch 语句。

 

? : 运算符

我们已经在前面的章节中讲解了 条件运算符 ? :,可以用来替代 if...else 语句。它的一般形式如下:

Exp1 ? Exp2 : Exp3;

其中,Exp1、Exp2 和 Exp3 是表达式。请注意,冒号的使用和位置。

? 表达式的值是由 Exp1 决定的。如果 Exp1 为真,则计算 Exp2 的值,结果即为整个 ? 表达式的值。如果 Exp1 为假,则计算 Exp3 的值,结果即为整个 ? 表达式的值。


 

举例 下面是阶乘的递归算法,其中判断条件如果 num>0 则返回 num *Jc(num - 1),否则返回 1

 

using System;
namespace GeniusTest01
{
    class jiecheng
    {
        public int Jc(int num)
        {
            
            return num > 0 ? num *Jc(num - 1):1;  //如果num>0则返回num *Jc(num - 1),否则返回1
        }
    }

    
    
    public class Class13
    {
        // 夜光
        static void Main(string[] args)
        {
            jiecheng n = new jiecheng();
            int result = n.Jc(Convert.ToInt16(Console.ReadLine()));
            Console.WriteLine("result is {0}",result);
            Console.ReadKey();
        }
    }
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VIIRS夜光数据是指由卫星上的可见及红外成像辐射计(Visible Infrared Imaging Radiometer Suite,VIIRS)获得的地球夜间灯光数据。该数据被广泛用于研究城市化进程、气候变化、能源利用以及自然环境变化等诸多领域。 要下载VIIRS夜光数据,首先需要访问美国国家海洋和大气管理局(NOAA)的VIIRS数据中心网站,该网站提供了一系列下载途径,包括FTP下载、Web下载和程序接口下载等。 FTP下载是最简单的下载方式,如果您选择使用FTP下载,您需要安装FTP客户端,输入FTP地址和用户名密码后进行文件下载。由于VIIRS数据相对较大,所以FTP下载需要相应的存储空间和下载速度。 Web下载则是另一种常用的下载方式,您只需要在VIIRS数据中心的网站上输入需要下载的区域和时间范围,以及下载格式等信息,即可通过Web页面下载相应的数据。 如果您是程序员,并且需要批量自动下载VIIRS夜光数据,可以使用程序接口下载。VIIRS数据中心提供了RESTful API接口,您可以通过编写Python程序或其他编程语言,调用接口实现自动化下载。 无论您选择哪种下载方式,都需要注意数据的正确性和完整性。VIIRS夜光数据是大量的卫星影像数据,因此在下载数据时,要注意文件的编号、格式和时间等信息。同时,在数据处理时,也需要注意消除椒盐噪声、衰减因素和误差等问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值