Страницы

Поиск по вопросам

пятница, 19 октября 2018 г.

Почему некоторые разработчкики записывают числа в 16-ричном представлении? (C#)

Здравствуйте! Достаточно часто в open-source проектах замечаю, что разработчики записывают числа не так:
int i = 2147483647;
А так:
int i = 0x7FFFFFFF;
Даёт это один и тот же результат: у нас имеется переменная, содержащая значение = int.MaxValue, но в чем глубокая логика такой записи? Просто, мол: "Я умею записывать числа в 16-ричном представлении, посмотрите на меня!" Или же тут есть некоторые плюсы? Может, присвоение идет на наносекунды быстрее и/или машине их проще так воспринимать? Разрешите, пожалуйста, мои сомнения по сему поводу!


Ответ

Очевидно, что данное значение инициализатора
int i = 2147483647;
запомнить сложно. Нужно постоянно сверяться со справочником, чтобы правильно выписать все цифры.
Такая запись
int i = 0x7FFFFFFF;
не требует наличия феноменальной памяти.
Но в любом случае было бы проще, лучше и яснее записать
int i = int.MaxValue;
так как такая запись самодокументируемая.
Запись
int i = 0x7FFFFFFF;
предпочтительнее предыдущей записи лишь в одном случае: когда переменная i используется как некоторая маска для битовых операций.

Комментариев нет:

Отправить комментарий