c# 中怎么获取 字节二进制的高位低位  并且取反之类的. 没学过C啊 吐血
没学过C 对进制完全一抹黑 恶补中. 
按照上面的说明 我的方法该怎么写 传入 18 可以计算得到 D012?
              
              
------解决方案--------------------using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            ushort data = 18;
            ushort data1 = data;
            byte sum = 1;
            while (data1 != 0)
            {
                if (data1 % 2 == 1) sum++;
                data1 = (ushort)(data1 / 2);
            }
            byte checksum = (byte)(~(sum % 16) + 1);
            ushort result = (ushort)(data 
------解决方案--------------------
 checksum << 12);
            Console.WriteLine(result.ToString("X"));
        }
    }
}
D012
Press any key to continue . . .
------解决方案--------------------[StructLayout(LayoutKind.Explicit)]
        struct stu
        {
            [FieldOffset(0)]
            public ushort sum;