using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
namespace Application
{
class Program
{
[StructLayout(LayoutKind.Explicit)]
public struct Union
{
[FieldOffset(0)]
public int integer;
[FieldOffset(0)]
public byte byte0;
[FieldOffset(1)]
public byte byte1;
[FieldOffset(2)]
public byte byte2;
[FieldOffset(3)]
public byte byte3;
}
static void Main(string[] args)
{
Union a = new Union();
a.integer = 0x12345678;
Console.WriteLine(string.Format("integer:{0}", a.integer.ToString("x")));
Console.WriteLine(string.Format("Byte:{0}{1}{2}{3}", a.byte0.ToString("x"), a.byte1.ToString("x"), a.byte2.ToString("x"), a.byte3.ToString("x")));
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlczsKdXNpbmcgU3lzdGVtLlRleHQ7CgpuYW1lc3BhY2UgQXBwbGljYXRpb24KewogICAgY2xhc3MgUHJvZ3JhbQogICAgewogICAgICAgIFtTdHJ1Y3RMYXlvdXQoTGF5b3V0S2luZC5FeHBsaWNpdCldCiAgICAgICAgcHVibGljIHN0cnVjdCBVbmlvbgogICAgICAgIHsKICAgICAgICAgICAgW0ZpZWxkT2Zmc2V0KDApXQogICAgICAgICAgICBwdWJsaWMgaW50IGludGVnZXI7CgogICAgICAgICAgICBbRmllbGRPZmZzZXQoMCldCiAgICAgICAgICAgIHB1YmxpYyBieXRlIGJ5dGUwOwoKICAgICAgICAgICAgW0ZpZWxkT2Zmc2V0KDEpXQogICAgICAgICAgICBwdWJsaWMgYnl0ZSBieXRlMTsKCiAgICAgICAgICAgIFtGaWVsZE9mZnNldCgyKV0KICAgICAgICAgICAgcHVibGljIGJ5dGUgYnl0ZTI7CgogICAgICAgICAgICBbRmllbGRPZmZzZXQoMyldCiAgICAgICAgICAgIHB1YmxpYyBieXRlIGJ5dGUzOwoKICAgICAgICB9CgogICAgICAgIHN0YXRpYyB2b2lkIE1haW4oc3RyaW5nW10gYXJncykKICAgICAgICB7CiAgICAgICAgICAgIFVuaW9uIGEgPSBuZXcgVW5pb24oKTsKICAgICAgICAgICAgYS5pbnRlZ2VyID0gMHgxMjM0NTY3ODsKCiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKHN0cmluZy5Gb3JtYXQoImludGVnZXI6ezB9IiwgYS5pbnRlZ2VyLlRvU3RyaW5nKCJ4IikpKTsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoc3RyaW5nLkZvcm1hdCgiQnl0ZTp7MH17MX17Mn17M30iLCBhLmJ5dGUwLlRvU3RyaW5nKCJ4IiksIGEuYnl0ZTEuVG9TdHJpbmcoIngiKSwgYS5ieXRlMi5Ub1N0cmluZygieCIpLCBhLmJ5dGUzLlRvU3RyaW5nKCJ4IikpKTsKICAgICAgICB9CiAgICB9Cn0K