⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 program.cs

📁 C#高级编程第6版随书源代码 值得下载
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.Collections.Specialized;

namespace BitArraySample
{
   class Program
   {
      static void BitArrayDemo()
      {
         BitArray bits1 = new BitArray(8);
         bits1.SetAll(true);
         bits1.Set(1, false);
         bits1[5] = false;
         bits1[7] = false;
         Console.Write("initialized: ");
         DisplayBits(bits1);
         Console.WriteLine();


         DisplayBits(bits1);
         bits1.Not();
         Console.Write(" not ");
         DisplayBits(bits1);
         Console.WriteLine();

         BitArray bits2 = new BitArray(bits1);
         bits2[0] = true;
         bits2[1] = false;
         bits2[4] = true;
         DisplayBits(bits1);
         Console.Write(" or ");
         DisplayBits(bits2);
         Console.Write(" : ");
         bits1.Or(bits2);
         DisplayBits(bits1);
         Console.WriteLine();


         DisplayBits(bits2);
         Console.Write(" and ");
         DisplayBits(bits1);
         Console.Write(" : ");
         bits2.And(bits1);
         DisplayBits(bits2);
         Console.WriteLine();

         DisplayBits(bits1);
         Console.Write(" xor ");
         DisplayBits(bits2);
         bits1.Xor(bits2);
         Console.Write(" : ");
         DisplayBits(bits1);
         Console.WriteLine();
      }

      static void BitVectorDemo()
      {

         BitVector32 bits1 = new BitVector32();
         int bit1 = BitVector32.CreateMask();
         int bit2 = BitVector32.CreateMask(bit1);
         int bit3 = BitVector32.CreateMask(bit2);
         int bit4 = BitVector32.CreateMask(bit3);
         int bit5 = BitVector32.CreateMask(bit4);

         bits1[bit1] = true;
         bits1[bit2] = false;
         bits1[bit3] = true;
         bits1[bit4] = true;
         Console.WriteLine(bits1);

         bits1[0xabcdef] = true;
         Console.WriteLine(bits1);
         

         int received = 0x79abcdef;

         BitVector32 bits2 = new BitVector32(received);
         Console.WriteLine(bits2);
         // sections: FF EEE DDD CCCC BBBBBBBB AAAAAAAAAAAA
         BitVector32.Section sectionA = BitVector32.CreateSection(0xfff);
         BitVector32.Section sectionB = BitVector32.CreateSection(0xff, sectionA);
         BitVector32.Section sectionC = BitVector32.CreateSection(0xf, sectionB);
         BitVector32.Section sectionD = BitVector32.CreateSection(0x7, sectionC);
         BitVector32.Section sectionE = BitVector32.CreateSection(0x7, sectionD);
         BitVector32.Section sectionF = BitVector32.CreateSection(0x3, sectionE);



         Console.WriteLine("Section A: " + IntToBinaryString(bits2[sectionA], true));
         Console.WriteLine("Section B: " + IntToBinaryString(bits2[sectionB], true));
         Console.WriteLine("Section C: " + IntToBinaryString(bits2[sectionC], true));
         Console.WriteLine("Section D: " + IntToBinaryString(bits2[sectionD], true));
         Console.WriteLine("Section E: " + IntToBinaryString(bits2[sectionE], true));
         Console.WriteLine("Section F: " + IntToBinaryString(bits2[sectionF], true));


      }

      static string IntToBinaryString(int bits, bool removeTrailingZero)
      {
         StringBuilder sb = new StringBuilder(32);

         for (int i = 0; i < 32; i++)
         {
            if ((bits & 0x80000000) != 0)
            {
               sb.Append("1");
            }
            else
            {
               sb.Append("0");
            }
            bits = bits << 1;
         }
         string s = sb.ToString();
         if (removeTrailingZero)
            return s.TrimStart('0');
         else
            return s;
      }

      static void Main()
      {
         BitVectorDemo();

         
      }

  
      static void DisplayBits(BitArray bits)
      {
         foreach (bool bit in bits)
         {
            Console.Write(bit ? 1 : 0);
         }
      }
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -