金沙总站手机登陆网址 > 艺术展览 > 关于逻辑运算符的通俗理解,怎么才能按合理的

原标题:关于逻辑运算符的通俗理解,怎么才能按合理的

浏览次数:195 时间:2019-10-07

问:小编有过多陨石,怎么本事按客观的价格发售呢?我们给支支招呗,谢谢?

  今后着力不跟硬件通信,软件开垦少之甚少有人去领略这个逻辑运算符了,日常会用到一些逻辑运算符,后天整理下,通俗的领悟一下各运算符是怎么境况.

好的实在东西,不怕卖不出去,首先找驾驭专门的工作人员举办业评比判,摸清本身的珍宝到底值多少钱,要是是货真价就应有值,也能够拍照到网络进行拍卖,关键是当真吗。

     先放一下测验代码,这几个代码自个儿没有什么样含义,首即使对结果的认证   

class Program
    {
        static void Main(string[] args)
        {
            int a = 123, b = 0;
            int result;

            #region 1.逻辑 非(~) 运算

            a = 123;
            result = (byte)~a;
            Console.WriteLine("{0} 非(~) 的运算", a);
            PrintResult(result, a, b);

            #endregion

            #region 2.逻辑 与(&) 运算

            b = 12;

            result = a & b;
            Console.WriteLine("{0} 与(&) {1} 的运算", a, b);
            PrintResult(result, a, b);

            #endregion

            #region 3.逻辑 或(|) 运算

            result = a & b;
            Console.WriteLine("{0} 或(|) {1} 的运算", a, b);
            PrintResult(result, a, b);

            #endregion

            #region 3.逻辑 异或(^) 运算

            result = a ^ b;
            Console.WriteLine("{0}  异或(^) {1} 的运算", a, b);
            PrintResult(result, a, b);

            #endregion

            #region 4.左位移(<<) 运算
            a = 5;
            b = 4;
            result = (byte)(a << b);
            Console.WriteLine("{0} 左移位( << ) {1}", a, b);
            Console.WriteLine("运算结果:t{0}", result);
            Console.WriteLine("{0}的2进制值为:t{1}", a, FormatBase2(a));
            Console.WriteLine("{0}的2进制值为:t{1}", result, FormatBase2(result));

            #endregion

            #region 5.右位移(>>) 运算
            a = 5;
            b = 1;
            result = (byte)(a >> b);
            Console.WriteLine("{0} 右移位( >> ) {1}", a, b);
            Console.WriteLine("运算结果:t{0}", result);
            Console.WriteLine("{0}的2进制值为:t{1}", a, FormatBase2(a));
            Console.WriteLine("{0}的2进制值为:t{1}", result, FormatBase2(result));

            #endregion

            Console.ReadKey();
        }

        static void PrintResult(int result, int a, int b)
        {
            Console.WriteLine("运算结果:t{0}", result);
            Console.WriteLine("{0}的2进制值为:t{1}", a, FormatBase2(a));
            if (b > 0)
            {
                Console.WriteLine("{0}的2进制值为:t{1}", b, FormatBase2(b));
            }
            Console.WriteLine("{0}的2进制值为:t{1}", result, FormatBase2(result));
            Console.WriteLine();
        }

        static string FormatBase2(int num)
        {
            string r = Convert.ToString(num, 2);
            while (r.Length < 8)
            {
                r = "0" + r;
            }
            return r;
        }
    }

 

证实一下,关于位的逻辑运算,比方常说的 :1个8位字节,能够领会成8位是几个字节,平时用于硬件的一对权力设置,举例: 11111111,二个字节就足以垄断8个权力,确实很省啊.

以下的事例都与这些2进制相关,看见2进制的结果就能够清楚,原本那个标志的起名是那么直观.

先广泛一下Computer基础知识,计算机是只认知0和1; ,大家叫,真和假,也许专门的工作点叫 true和false

 

 1. 非运算 c#运算符号:~ ,windows计算器运算符号: Not

     123 非(~) 的运算
  运算结果:       132
  123的2进制值为: 01111011
  132的2进制值为: 一千0100

    总部方的结果,清楚的观望,原本"非"的运算,是那么轻便,

    通俗的讲就是:假若是真(1)的,那么正是假(0),借使是假的(0)那么正是真正(1)

 2. 与 运算 c#标识:&,总括器符号:And

  123 与(&) 12 的运算
  运算结果:       8
  123的2进制值为: 01111011
  12的2进制值为:   00001100
  8的2进制值为:     0000一千

   依照2进制结果来看,

   通俗的将:要是 都以"真的(1)"那么才是"真的"不然正是"假的(0)".

3.逻辑 或(|) 运算 ,总计器符号:Or  
   123 或(|) 12 的运算 
  运算结果:       127
  123的2进制值为: 01111011
  12的2进制值为:   00001100
  127的2进制值为: 01111111  

   通俗解释:假使有一个真正,那么就是确实(1),不然便是假的(0);

4.逻辑 异或(^) 运算 ,计算器符号:Xor  
  123  异或(^) 12 的运算
  运算结果:       119
  123的2进制值为: 01111011
  12的2进制值为:   00001100
  119的2进制值为: 01110111

  关于异或的辨证,测验参数做了些改造,为了把异或的3种也许都表现出来.

  异或的定义是:一样的为假(0),区别的为真(1); 那几个近乎这么解释就行了.

5.左位移(<<) 运算 计算器符号:Lsh

   5 左移位(<<) 4
    运算结果:       80
    5的2进制值为:    00000101
    80的2进制值为:  010一千0

   一句话:往侧面补4个零

6.右位移(>>) 运算 总计器符号:Enclavesh

   5 右移位( >> ) 1

   运算结果:       2
   5的2进制值为:   00000101
   2的2进制值为:   00000010

   解释:往左边补4个零

 

骨子里看来这一个结果,大约不用解释了,他都以按"位"举行总括的,调换为2进制就丰硕直观了.

 

本文由金沙总站手机登陆网址发布于艺术展览,转载请注明出处:关于逻辑运算符的通俗理解,怎么才能按合理的

关键词:

上一篇:您以为如何的天生奇石的面世技艺令你对大自然

下一篇:没有了