О шестнадцатеричных цифрах больших, чем 9
Шестнадцатеричные цифры a, b, c, d, e и f нужно писать исключительно в нижнем регистре. Читателю совершенно необязательно проводить время с лупой перед монитором, пытаясь различить 8 и B, 0 и D. Вывод различными программами этих цифр в верхнем регистре следует считать багом.
Разве цифры можно сравнивать по принципу «больше-меньше»? Это ж не числа.
b8e82f
B8E82F
Неужели второй вариант читается легче и быстрее? Никогда не поверю.
для меня оба — бессмысленный набор букв и чисел. Что я делаю не так?
Кроме того, следует отметить, что их, как и любой код, необходимо отображать моноширинным шрифтом, чтобы размер по горизонтали тоже был постоянным (особенно этим страдает цифра f). В досе, кстати, такой проблемы не было, там, во-первых, все шрифты были моноширинными, во-вторых, ноль перечёркивался, его было ни с чем не спутать. Цифру B с восьмёркой спутать нереально при всём желании.
Ярослав, вы не поверите, но да, второй вариант читается лучше. Возможно для меня имеет значение привычка, но тем не менее.
Но если заняться нечем, то можно подойти к шестнадцатеричным цифрам как к десятичным. Номера телефонов удобнее читать, когда цифры разделены на группы, тут можно также
b8e82f
B8E82F
b8-e8-2f
B8-E8-2F
#define h_ 0x
Теоретически должно помочь.
А вообще можно и подумать над разработкой специальных глифов для шестнадцатеричной системы счисления.
Например в виде отдельного шрифта адаптировать вот эти: http://en.wikipedia.org/wiki/File:Bruce_Martin_hexadecimal_notation_proposal.png
Ваш вариант не поможет, т. к. h_ и 0x — это не лексемы, а часть лексем.
Правильно так: #define hex(a) 0x##a
Но этот способ бессмысленный, 0x проще и яснее.
Сравните: 6ff8a4ah 6FF8A4Ah
А с пробелами еще лучше: 06 FF 8A 4Ah И нолик спереди.
Ужасны же и совершенно не видимы в текстах, а должны выделяться же!
Взять же любой шрифт — цифры отличаются, как минимум, высотой от букв. Когда число в тексте похоже на текст, а не на число, это ужасно. Особенно ужасно, если этот текст не раскрашен синтаксически.
Да и вообще — это же вы так думаете, что я заблуждаюсь, я-то уверен, что всё совсем наоборот 8-D
В исходниках на различных языках программирования я пишу шестнадцатеричные числа в верхнем регистре.
В html, css, xml, и т. д. я использую нижний регистр, т. к. стараюсь не использовать верхний регистр в языках разметки (эстет чёртов). Числа записанные в верхнем регистре будут выделяться из общей массы и отвлекать от поиска необходимой информации (сами числа я все-равно ищу по именам параметров).
>> Вы заблуждаетесь.
Это просто сокрушительная аргументация!
Впрочем, трудно как-то связно аргументировать точку зрения по такому вопросу. Я вот тоже не могу объяснить, почему в нижнем регистре буквенные числа смотрятся омерзительно.
Свою точку зрения я аргументировал в заметке, к которой вы пишете пустой комментарий, цитируя то, что не поняли. Сергей предложил ни на чём не основанный тезис («Шестнадцатеричные числа должны выделяться в тексты»), очевидно, являющийся чушью на постном масле. С тем же успехом можно утверждать, что тексте должны выделяться все обстоятельства образа действия или все слова с чётным количеством гласных букв. Подобная странная точка зрения, конечно, является заблуждением.
Вся ваша аргументация, Илья, — это конструкции вида «у вас плохой вкус, а у меня хороший», «вы ничего не поняли» и «Сергей предложил тезис, являющийся чушью на постном масле». Вы много говорите о том, что мы не правы, но никак не подтверждаете свою правоту.
На мой взгляд, настоящая ерунда — это предположение о том, что возможно перепутать 8 и B и 0 и О.
Подразумевается, что тут я должен почувствовать себя дураком, но тонкость в том, что я по-прежнему считаю, что вы абсолютно не правы.
Опечатался.
Поставьте его лучше тому, кто использует в системе декоративные шрифты в качестве основных — только в них возможно допущение подобной ошибки (учитывая, что половина декоративных шрифтов вообще читается через пень-колоду). Что касается вменяемых, традиционных шрифтов (TNR, Tahoma, Arial, даже, Господи прости, Comic Sans и ... что там у вас в Маках?) — то тут надо быть совсем слепым, чтобы перепутать эти символы.
Визуалы и эти, как их, которые визуально не любят отето... ;-)