int.MaxValue.ToString("X")
выводит 7FFFFFFF
, то есть число 2147483647
в целом .
С другой стороны, BitConverter.GetBytes
возвращает массив байтов, представляющих 2147483647
в памяти. На вашей машине это число хранится в порядке с прямым порядком байтов (последний старший байт). И BitConverter.ToString
работает отдельно для каждого байта, поэтому не переупорядочивает вывод, чтобы дать то же самое, что и выше, тем самым сохраняя порядок памяти.
Однако эти два значения одинаковы: 7F-FF-FF-FF
для int.MaxValue
в старшем порядке и FF-FF-FF-7F
для BitConverter
для младшего порядка. Тот же номер.