Loading...

Бит оператору

C# тилиндеги биттик операторлор бүтүн сандардын ичиндеги биттер менен операцияларды аткарууга мүмкүндүк берет. Алар бүтүндөй сандарда иштеген арифметикалык операторлордон айырмаланып, сандардын жеке биттерин манипуляциялайт.

Бул жерде ар бир биттик оператордун түшүндүрмөсү:

  1. Биттик жана (AND): "&"

        Операндтардагы биттердин ар бир жупуна ЖАНА операциясын колдонот жана натыйжаны         кайтарат. Ар бир бит позициясы үчүн, эгерде эки операндда тең ошол позицияда бирөө болсо,         натыйжа бир, антпесе нөл болот.

@A@using System;

class Program
{
    static void Main()
    {
        int a = 5;    // битовое представление: 0000 0101
        int b = 3;    // битовое представление: 0000 0011
        
        // Биттик жана (AND)
        int resultAnd = a & b; // resultAnd  1ге барабар (битовое представление: 0000 0001)
        Console.WriteLine("Биттик жана (AND): " + resultAnd);
    }
}@A@

@T@Биттик жана (AND): 1 @T@

        

       2.Битвалдык же (Or): "|"

        Операндтардагы ар бир жуп битке ЖЕ операциясын колдонот жана натыйжаны кайтарат. Ар              бир бит позициясы үчүн, жок эле дегенде, бир операнд бул позицияда 1ге ээ болсо, натыйжа              болот, антпесе 0  болот.

@A@using System;

class Program
{
    static void Main()
    {
        int a = 5;    // битовое представление: 0000 0101
        int b = 3;    // битовое представление: 0000 0011
        
       int resultOr = a | b; // resultOr  7ге барабар болот (битовое представление: 0000 0111)
        Console.WriteLine("Биттик же (OR): " + resultOr);
    }
}@A@

@T@Биттик же (OR):7@T@

        3.Биттик эксклюзивдүү же (XOR): "^"

        Эксклюзивдүү ЖЕ операциясын операнддардагы биттердин ар бир жупуна    колдонот жана                 натыйжаны кайтарат. Ар бир бит позициясы үчүн, эгерде так бир операнд ошол позицияда                 бирөө  болсо, натыйжа бир болот.

@A@using System;

class Program
{
    static void Main()
    {
        int a = 5;    // битовое представление: 0000 0101
        int b = 3;    // битовое представление: 0000 0011
        
      int resultXor = a ^ b; // resultXor  6га барабар болот (битовое представление: 0000 0110)
        Console.WriteLine("Битсиз өзгөчө же (XOR): " + resultXor);
    }
}@A@

@T@Битсиз өзгөчө же (XOR): 6 @T@

        

         4.Бит терс (ЭМЕС): "~"

        Операндтын ар бир битин инвертирлейт, башкача айтканда, ар бирин нөлгө алмаштырат                      жана тескерисинче. Натыйжада бардык биттер тескериленген сан болот.

@A@using System;

class Program
{
    static void Main()
    {
        int a = 5;    // битовое представление: 0000 0101
        int b = 3;    // битовое представление: 0000 0011
        
     int resultNot = ~a; // resultNot  -6га барабар болот (битовое представление: 1111 1010)
        Console.WriteLine("Биттик терс (NOT): " + resultNot);
    }
}@A@

@T@Биттик терс (NOT): -6@T@

 

        5.Биттик солго жылдыруу: "<<"

        Операндтын биттерин позициялардын белгиленген санына солго жылдырат. Солго         жылдыруу         менен биттер солго жылдырылат жана жаңы позициялар нөлдөр менен         толтурулат. Натыйжа         операндды         сменалык позициялардын санынын деңгээлине 2ге         көбөйтүүгө барабар.

@A@using System;

class Program
{
    static void Main()
    {
        int a = 5;    // битовое представление: 0000 0101
        int b = 3;    // битовое представление: 0000 0011
        
     int resultLeftShift = a << 2; // resultLeftShift  20га барабар болот (битовое представление: 0001 0100)
        Console.WriteLine("Битти солго жылдыруу: " + resultLeftShift);
    }
}@A@

@T@Битти солго жылдыруу:20 @T@

        6.Бит оңго жылдыруу: ">>"

        Операнддын биттерин белгилүү сандагы позициялар менен оңго жылдырат. Оңго         жылдыруу         менен биттер оңго жылдырылат жана жаңы позициялар нөлдөр менен         толтурулат же кол коюлган         санда     эң маанилүү бит менен толтурулат. Натыйжа         операндды нөөмөт позицияларынын         санынын деңгээлине 2ге бөлүүгө         барабар.

@A@using System;

class Program
{
    static void Main()
    {
        int a = 5;    // битовое представление: 0000 0101
        int b = 3;    // битовое представление: 0000 0011
        
     int resultRightShift = a >> 2; // resultRightShift будет равно 1 (битовое представление: 0000 0001)
        Console.WriteLine("Битти онго жылдыруу: " + resultRightShift);
    }
}@A@

@T@Битти онго жылдыруу:1@T@

Белгиленген сан менен бит багыты боюнча оңго жылдырганда белги сакталып, жогорку биттер белги бит менен толтуруларын эске алыңыз (арифметикалык жылыш сакталат). Белгисиз санды бит боюнча оңго жылдырганда, эң маанилүү биттер нөлдөр менен толтурулат (логикалык жылдыруу).