CentralMine.NET.Utils.HexStringToUInt C# (CSharp) Method

HexStringToUInt() public static method

public static HexStringToUInt ( string hex ) : uint
hex string
return uint
        public static uint HexStringToUInt(string hex)
        {
            byte[] h = HexStringToByteArray(hex);
            uint val = (uint)((h[0] << 24) | (h[1] << 16) | (h[2] << 8) | h[3]);
            return val;
        }

Usage Example

コード例 #1
0
        public void Initialize(ulong serverDiff)
        {
            if (serverDiff == 0)
            {
                uint diff      = Utils.HexStringToUInt(mDifficulty);
                int  diffBytes = ((int)diff >> 24) & 0x000000FF;

                strTarget = "";
                for (int i = 0; i < diffBytes - 3; i++)
                {
                    strTarget += "00";
                }
                strTarget += string.Format("{0:X2}", (byte)diff);
                strTarget += string.Format("{0:X2}", (byte)((int)diff >> 8));
                strTarget += string.Format("{0:X2}", (byte)((int)diff >> 16));
                for (int i = diffBytes; i < 32; i++)
                {
                    strTarget += "00";
                }
            }
            else
            {
                strTarget  = "000000000000000000000000000000000000000000000000";
                strTarget += string.Format("{0:X2}", (byte)((long)serverDiff));
                strTarget += string.Format("{0:X2}", (byte)((long)serverDiff >> 8));
                strTarget += string.Format("{0:X2}", (byte)((long)serverDiff >> 16));
                strTarget += string.Format("{0:X2}", (byte)((long)serverDiff >> 24));
                strTarget += string.Format("{0:X2}", (byte)((long)serverDiff >> 32));
                strTarget += string.Format("{0:X2}", (byte)((long)serverDiff >> 40));
                strTarget += string.Format("{0:X2}", (byte)((long)serverDiff >> 48));
                strTarget += string.Format("{0:X2}", (byte)((long)serverDiff >> 56));
            }

            target = Utils.HexStringToByteArray(strTarget);
            //Utils.ByteSwapIntegers(target);

            mHashMan = new HashManager();
        }