Чтобы форматировать/отображать номер в эквивалентную двоичную форму (в С#), я всегда просто вызывал:
Convert.ToString(myNumber, 2);
Сегодня я просто понял, что перегрузка .ToString(), которую я вызывал, не поддерживает значения, которые больше 9223372036854775807. Обратите внимание, что подпись перегрузки .ToString(): .ToString(long, int)
. Где "long" - это 64-битное подписанное значение, максимальное значение которого равно 9223372036854775807.
Другими словами, используя С#, когда я запускаю это:
Convert.ToString(9223372036854775808,2);
Не удивительно (из-за подписи), что я получаю это сообщение об исключении:
Наилучшее перегруженное соответствие метода для 'System.Convert.ToString(object, System.IFormatProvider) имеет некоторые недопустимые аргументы - Аргумент 2: невозможно преобразовать из 'int' в 'System.IFormatProvider'
Мой вопрос: есть ли функция .NET, которая позволяет нам преобразовывать значения, превышающие 9223372036854775807, в их эквивалентный двоичный формат?