private byte GetByteFromString(string data)
        {
            byte result = 0;
            for (byte i = 0; i < 8; i++)
            {
                if (data[i] == '1')
                {
                    result |=Convert.ToByte(1 << (7-i));
                }
            }
            return result;
        }
        private StringBuilder GetStringFromUlong(ulong data)
        {
            StringBuilder result = new StringBuilder();
            ulong temp;
            for (int i = 0; i < 64; i++)
            {
                temp = 1;
                if ((data&(temp << (63 - i)))!=0)
                {

                    result.Append("1");
                }
                else result.Append("0");
            }
            return result;
        }