Comments 69
0x45)
Как-то вы слишком предвзято относитесь к программистам, я вот всё ещё whanna be programmist (эникейщик с пайтоном), и тоже правильно посчитал в уме. Лучше устроить опрос где-нибудь, и узнать сколько процентов отвечает корректно
Как-то вы слишком предвзято относитесь к программистамБольше сорока лет программирую, насмотрелся.
(эникейщик с пайтоном), и тоже правильно посчитал в умеВот потому и посчитали, на энтузиазме. Трушным программерам это просто не нужно.
Лучше устроить опрос где-нибудьУстраивал. Личные. 1а+2b с ходу только пара человек посчитала.
Наверное, те, кто работает с Embedded и всякими GPIO ещё помнят. Я вот не программист, а сисадмин, но посчитать смог. А вот перевести из десятичной обратно в шестнадцатеричную быстро в уме уже никак.
P.S. а догадаться, что можно было сразу считать в HEX, догадался только когда комментарий писал. В голове проще считать по привычке, в DEC.
в Embedded чаще всего приходиться делать hex to bin и обратно. Складывать там даже проще, меньше в уме держать))
Если не секрет, как вы в уме посчитали a+b без перевода?
В конкретно моём случае это бы не получилось. Но результат было бы гораздо легче перевести в HEX в уме, чем результат целого примера.
Тут тренировка решает. Когда я баловался пиксельным рисованием на спектруме, я отлично помнил не только степени двойки до 65536 но и очень много вариантов их сумм, что позже помогло лучше дружить с масками подсетей.
По сути на память. Вы же не на пальцах 7+3 складываете, а сразу помните что это 10?
я например так считал: a+b = b+a = c+9 = d + 8 = ... = 10 + 5 = 15
медленно, зато без вычитания 16.
можно посчитать что угодно в любой системе, никуда не переводя, хоть в 60-ти ричной.
0x1+0x2 = 0x3
0x0a+0x0b - это выход за рамки разряда, в 0x3 докидываем 0x1, будет 0x4
осталось вычислить остаток
a не хватает 6 до переполнения разряда, из b нужно вычесть 6 и записать в ответ
b это 11, 11 - 6 = 5, ответ: 0x4 + 0x05 = 0x45
да, для выполнения операций в рамках разряда нужно прикидвать известо что к носу, чтобы иметь возможность посчитать, но в целом всё считается в рамках системы. С 13-ти ричной, 7-ми ричной, 34-ричной системой был бы такой же алгоритм.
Мало кто умеет, но много кто отмечает:)
А доля тех кто перфоркартами умеет пользоваться совсем стремится к нулю. Ото ж…
Да многие умеют, просто не так востребовано это. А на вскидку получится рак.
душнила.
P.S. Если кто пользуется - тот умеет сходу. Кому внезапно понадобится - вспомнит без труда, ибо сложного там ничего. Мы в универе переводили. Больше не пользовался нигде.
Да и… какая доля процента современных программистов умеет в шестнадцатиричную систему?
Этому учат на 1-2 курсе на любой "айтишной" специальности. Все, кто окончил вуз?
Двоичное и шестнадцатеричное исчисление для программиста, это не тригонорметрия, это как умножение/деление в уме. У вас же не выветрилось как 42 * 37 без калькулятора?
Кстати, 1554. Или Вы про Е2Е? :-)
Как раз сейчас пишу программу, в которой основная идея состоит в переводе декартовых координат в полярные. Последний месяц столько тригонометрии через мозг прошло! Радуюсь: наконец-то пригодилось сполна )
На самом деле даже в 10-11 классе вполне учат. Я считаю пример нерепрезентативным, потому что фронтендерам например вообще Hex не упёрся и что теперь они не программисты теперь?
Фронтендерам битовые операции не нужны? Например, чтобы проверить какие там пермишены у юзерской роли? Hex представление, это просто более удобное и короткое представление двоичного числа, ты сразу можешь сказать, какой бит в каком состоянии находится, потому что уж двоичное представление чисел 0-15 любой программист либо помнит, либо выведет за пару секунд.
Фронтендеры обычно на битовые маски и шестнадцатеричные числа выражают крайнюю степень недоумения, а иногда и возмущения. Приходится такие простые вещи только ради фронтового апи усложнять (представляя каждый бит отдельным булевым полем). И да, то что 0xff === 255 им тоже взрывает мозг. Хотя это валидный js.
Я фронтендер и в корне не согласен с написанным :)
Что очень радует)
Кстати, у фронтендеров все цвета в css в hex, так что, очень удивительные вещи вы говорите.
Да, сам фуллстеком был. Однако недавний пример: в документации описал цвета в hex и отдал интом, а фронт в json увидел их таки в dec виде и не успокоился, пока я и в документации на dec не переделал (и то ему больше хотелось hex-строку вида "color": "#ff0000"). Предложение вбить в консоль console.log(0xff0000 === 16711680); было принято за издевательство и хак. Очень много во фронте народу, кто знает фреймворк, а информатику нет (да и язык часто не особо).
Очевидно, 0x1a0x2b! /s
stackoverflow detected
Спасибо за экскурс в историю. Кстати за Китай не знал сей интересный факт.
Ох уж эти программисты, которые в уме считают в 16-ричной системе. Дай бог им здоровья Они наверное еще дискетами пользуются, или перфокартами и машины у них на паровой тяге и лапти на ногах. Гет/пост запросы голубями отправляют. А пинг капелькой воды замеряют.
В шестнадцатеричной не считаю, но в двоичной — вполне. Когда что-то надо посчитать, загибаю пальцы в двоичной системе — одной руки таким образом хватает, чтоб сосчитать от 0 до 31, двух — в теории до 1023, на практике — где-то до 80 доходил.
жиза. Кстати, недавно раздуплился, и понял как по загнутым пальцам быстро считать число, даже если оно уже 512+, просто номер пальца это степень двойки, если палец загнутый(0) - пропускаю, если оттопырен(1) докидываю число в сумму: первая рука 1, 2, 4, 8, 16 - вторая рука 32, 64, 128, 256, 512
пальцы отлично работают в троичной системе
Ну мне и в восьмеричной считать приходилось...
А в Японии до сих пор некоторые государственные документы на 3х-дюймовых дискетах возят.
Кстати, в актуальной классификации данная специальность обозначается кодом 230105.65 – означает ли это, что программисты могут отмечать свой профессиональный праздник еще и 23 января?
Да, в 5:65 утра
На кдпв переполнение стека будет.
экзамен по Python, на изучение которого у взрослого человека уходят годы
Там какой-то особо сложный экзамен? Так то питон можно не особо торопясь за несколько месяцев освоить.
перегоревших ламп и перфокарт
ни разу не менял перегоревшие перфокарты (правда, у нас были ЕС ЭВМ, на микросхемах).
Поздравляем с Днем программиста