So here is the updated version
namespace DotCopter.Commons.Utilities { public static class BitConverter { public static void ToBytes(byte[] buffer, int offset, long value) { Utility.InsertValueIntoArray(buffer, offset, 4, (uint)(value >> 32)); Utility.InsertValueIntoArray(buffer, offset + 4, 4, (uint)value); } public static unsafe void ToBytes(byte[] buffer, int offset, float value) { Utility.InsertValueIntoArray(buffer, offset, 4, *((uint*)&value)); } public static long ToLong(byte[] buffer, int offset) { long value = (long)Utility.ExtractValueFromArray(buffer, offset, 4) << 32; value |= Utility.ExtractValueFromArray(buffer, offset + 4, 4); return value; } public static unsafe float ToFloat(byte[] buffer, int offset) { uint value = Utility.ExtractValueFromArray(buffer, offset, 4); return *((float*)&value); } public static short ToShort(byte[] buffer, int offset) { return (short)(Utility.ExtractValueFromArray(buffer, offset, 2) >> 16); } public static int ToInt(byte[] buffer, int offset) { return (int)Utility.ExtractValueFromArray(buffer, offset, 4); } } }
No comments:
Post a Comment