Вы сейчас просматриваете Дважды два четыре?

Дважды два четыре?

Такой вопрос на собеседовании – это не намек на знание антиутопии Джорджа Оруэлла, как культового произведения литературы. Это скорее намек на знание и понимание систем счисления.

Для программиста знание двоичной системы счисления является фундаментальным. Оно позволяет понять, как реально работает компьютер, а ответ на этот вопрос волнует многие пытливые умы.

Итак, чего же ожидает интервьюер, задавая этот вопрос?

Ответ может быть, например, таким.

Начнем с того, что 2-ка в двоичной системе счисления отображается ка 10. Почему? Потому что добавляя к 1-це еще одну, получается, что в разряде единиц ей места нет, ведь есть только 0 или 1. Значит нужно одну 1-цу перенести в следующий разряд, а разряд единиц обнулить. Так и получается 10.

А теперь получим 3-ку в двоичной системе счисления. Добавим к двойке единичку и получим 11. Теперь, наконец, шагаем к 4-ке. Следуя алгоритму, мы добавляем единицу и вынуждены переносить ее в новый разряд, так как места уже заняты, и при переносе обнуляем пройденные разряды.

Так мы получаем 100 в двоичной системе счисления, что соответствует 4-ке в десятичной.

Возвращаясь к главному вопросу, мы получаем ответ, который ожидает интервьюер.

Удачного собеседования!

AdminLeonidK

I like Java!