Пример #1
0
        public static ulong ToULong(string hex)
        {
            var bytes = ToBytes(hex);

            bytes = ByteManipulator.BigEndianTruncate(bytes, 8);

            if (BitConverter.IsLittleEndian)
            {
                bytes = bytes.Reverse().ToArray();
            }

            return(BitConverter.ToUInt64(bytes));
        }
Пример #2
0
        public LargeInteger(byte[] bytes)
        {
            if (bytes != null)
            {
                if (bytes[0] > 127)
                {
                    bytes = ByteManipulator.BigEndianTruncate(bytes, bytes.Length + 1); //add big endian padding to get only positive numbers
                }

                if (BitConverter.IsLittleEndian)
                {
                    bytes = bytes.Reverse().ToArray();
                }

                value = IntegerConverter.FromByteArray(bytes);
            }
            else
            {
                value = 0;
            }
        }