BitManipulator (nuget): A set of extension methods for doing bitwise manipulation such as endianness (bytes<-->integral types) and rotation.  Endianness-related functionality: short, ushort, int, uint, long, ulong : conversion between (to and from) individual items of these and byte arrays, and between arrays of any of these (UInt32[], for example) and byte arrays. Little and big-endian methods exist at feature and/or type parity.  Rotation-related functionality: byte, short, ushort, int, uint, long, ulong : left and right bitwise circular rotation ("rotate no carry"). Please note: the rotation implemented here is NOT "rotate through carry"! As such, sign is NOT handled specially for signed types.  Endianness conversions operating on multiple values (bulk operations) are performance-enhanced with optimised 'unsafe' implementations. They are considerably faster than comparable operations provided by the BCL.
Keywords: endian|endianness|rotation|performance|bit|shift|shifting|manipulation