プログラミングの中のデジタルゲーム


ウェブサイトのプログラムをするのは1日すべてあれらの鬼が東から東へ人をますます馬鹿にさせます
C++すっかり忘れてしまいそう
実はこれらはすべていくつかの最も基础的なもので、しばらくの时间のプログラムを书いて突然これらの最も基础的なものが最も面白いことを発见しました.(˙<>˙)/------
一部の人はこのような仮想的なものを振り回すのが好きで、楽しく游んでいますが、どのように空気入り人形に似ていますか--!無言....
シフトオペレータは、バイナリに詳しい限り、彼を操作することができます.
int num = 1;
num <<= 10;
Console.WriteLine(num);

左シフト10ビット(バイナリのビット)、2の10乗に相当
出力結果は1024
 
1 int num1 = 0xff00;

2 int num2 = 0x00ff;

3 int num3 = num2 | num3;

4 Console.WriteLine("{0:x4}", num3);

あるいは演算はビットをマージするために使用することができます.例えば、フォントスタイルでは太字|斜体でffffを出力するのによく使用されます.
1 int num1 = 0xffff;

2 int num2 = 0x0001;

3 int num3 = num2 & num3;

4 Console.WriteLine("{0:x4}", num3);

指定したビットを必要に応じて保持または削除するための演算です.ここでは最低位以上のものはすべて取り除いた.ここで出力0001
バイナリと10進数の間を回転する方法:
                :



//        (       )

static long byteArToLong(byte[] bytes)

{

    int [] nums= {1,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144};

    if(bytes.Length>nums.Length)

        throw new Exception("  ");

    long num=0;

    for (int i = 0; i < bytes.Length; i++)            

        num += (bytes[i] * nums[i]);

    return num;

}



//        (       )

static byte[] numToByteAr(long num)

{            

    IList<byte> data =new List<byte>();



    long dividend = num;



    int indx = 0;

    do

    {

        long yu = dividend % 256;

        dividend /= 256;

        data.Add((byte)yu);

    } while (dividend > 0);

    indx = 0;

    byte[] bytes = new byte[data.Count];



    foreach (byte b in data)

        bytes[indx++] = b;



    return bytes;

}


.