Я переворачиваю исходный код средства записи файлов, и вот методы, которые читают / записывают целые числа (или, скорее, ushorts):
BinaryReader _Reader;
BinaryWriter _Writer;
void RawWriteInt16(int value)
{
byte a = (byte)(value & 255);
byte b = (byte)(value >> 8 & 255);
_Writer.Write(a);
_Writer.Write(b);
}
ushort RawReadUInt16()
{
int num = _Reader.ReadByte();
int num2 = _Reader.ReadByte();
return (ushort)((num2 << 8) + num);
}
Итак, вы можете объяснить, почему & с 255 (11111111) который всегда одинаков и смещается?
PS Мне нужно это для статьи, и я дам вам кредит.Вы можете проверить это здесь, если хотите, или на codeproject: Последовательный-байтовый сериализатор
Спасибо за интерес.Кредиты были предоставлены @Sentry и @Rotem.Я опубликую также URL кода проекта, когда статья будет одобрена