###前提・実現したいこと
こんばんは。いつもたいへんお世話になります。
byte[] bytes = {0,0,24,40}; var size = 16777216 * bytes[0] + 65536 * bytes[1] + 256 * bytes[2] + bytes[3];
というのを先日教えていただいたのですが、この逆は、どう計算したらよいですか?
intをbyte[]にしたいです。
###発生している問題
byte[] size1 = BitConverter.GetBytes(size / 16777216); byte[] size2 = BitConverter.GetBytes(size % 16777216 /65536); byte[] size3 = BitConverter.GetBytes(size % 16777216 %65536 / 256); byte[] size4 = BitConverter.GetBytes(size % 16777216 %65536 % 256); List<byte> bytes = new List<byte>(); bytes.AddRage(size1); bytes.AddRage(size2); bytes.AddRage(size3); bytes.AddRage(size4); byte[] bytesarray = bytes.ToArray();
とかと考えたのですが、これはあまりに回りくどいですよね?
ひょっとして、
byte[] bytes = BitConverter.GetBytes(size);
だけでOKとか?
###補足情報(言語/FW/ツール等のバージョンなど)
Windows10 Home 1709 64bit
Microsoft Visual Studio Community 2017
Version 15.1 (26403.3) Release
VisualStudio.15.Release/15.1.0+26403.3
Microsoft .NET Framework
Version 4.7.02556
インストールされているバージョン:Community
Visual C# 2017 00369-60000-00001-AA631
ひょっとして以下試しましたか?どうでしたか?