using System;
using System.Linq;
namespace StrangeFloat
{
class Program
{
private static void PrintBytes(byte[] array)
{
foreach (byte b in array)
{
Console.Write("{0:X2}", b);
}
Console.WriteLine();
}
static void Main(string[] args)
{
byte[] strangeFloat = { 0x1B, 0xC4, 0xAB, 0x7F };
float[] array = new float[1];
Buffer.BlockCopy(strangeFloat, 0, array, 0, 4);
byte[] bitConverterResult = BitConverter.GetBytes(array[0]);
PrintBytes(strangeFloat);
PrintBytes(bitConverterResult);
bool isEqual = strangeFloat.SequenceEqual(bitConverterResult);
Console.WriteLine("IsEqual: {0}", isEqual);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKCm5hbWVzcGFjZSBTdHJhbmdlRmxvYXQKewogICAgY2xhc3MgUHJvZ3JhbQogICAgewogICAgICAgIHByaXZhdGUgc3RhdGljIHZvaWQgUHJpbnRCeXRlcyhieXRlW10gYXJyYXkpCiAgICAgICAgewogICAgICAgICAgICBmb3JlYWNoIChieXRlIGIgaW4gYXJyYXkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIENvbnNvbGUuV3JpdGUoInswOlgyfSIsIGIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCk7CiAgICAgICAgfQoKICAgICAgICBzdGF0aWMgdm9pZCBNYWluKHN0cmluZ1tdIGFyZ3MpCiAgICAgICAgewogICAgICAgICAgICBieXRlW10gc3RyYW5nZUZsb2F0ID0geyAweDFCLCAweEM0LCAweEFCLCAweDdGIH07CiAgICAgICAgICAgIGZsb2F0W10gYXJyYXkgPSBuZXcgZmxvYXRbMV07CiAgICAgICAgICAgIEJ1ZmZlci5CbG9ja0NvcHkoc3RyYW5nZUZsb2F0LCAwLCBhcnJheSwgMCwgNCk7CiAgICAgICAgICAgIGJ5dGVbXSBiaXRDb252ZXJ0ZXJSZXN1bHQgPSBCaXRDb252ZXJ0ZXIuR2V0Qnl0ZXMoYXJyYXlbMF0pOwoKICAgICAgICAgICAgUHJpbnRCeXRlcyhzdHJhbmdlRmxvYXQpOwogICAgICAgICAgICBQcmludEJ5dGVzKGJpdENvbnZlcnRlclJlc3VsdCk7CiAgICAgICAgICAgIGJvb2wgaXNFcXVhbCA9IHN0cmFuZ2VGbG9hdC5TZXF1ZW5jZUVxdWFsKGJpdENvbnZlcnRlclJlc3VsdCk7CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCJJc0VxdWFsOiB7MH0iLCBpc0VxdWFsKTsKICAgICAgICB9CiAgICB9Cn0=