November 17th, 2004

How do I break an integer into its component bytes?

Warning: .NET content ahead. For some reason, this gets asked a lot.

To break an integer into its component bytes, you can use the BitConverter.GetBytes method:

int i = 123456;
byte[] bytes = BitConverter.GetBytes(i);

After this code fragment, the byte array contains { 0x40, 0xE2, 0x01, 0x00 }.

Update 11am: The endian-ness of the result is determined by the BitConverter.IsLittleEndian property. Thanks to reader Sean McVey for pointing this out.

Topics
Code

Author

Raymond has been involved in the evolution of Windows for more than 30 years. In 2003, he began a Web site known as The Old New Thing which has grown in popularity far beyond his wildest imagination, a development which still gives him the heebie-jeebies. The Web site spawned a book, coincidentally also titled The Old New Thing (Addison Wesley 2007). He occasionally appears on the Windows Dev Docs Twitter account to tell stories which convey no useful information.

0 comments

Discussion are closed.