Landberk
И что за число изображено в коде на картинке (001234), почему два нуля?
Там спецификатор формата %06d, это значит: вывести целое число в поле ширины 6, заполняя пустое место ведущими нулями. Так как там 1234, то две цифры до шести цифр не хватает и в начале ставятся нули. Если ноль убрать (сделав %6d ), то будут пробелы выводиться, а не нули. А ширина полей задаётся тогда, когда выводишь таблицы чисел, чтобы таблицы ровными были (числа в разных строках могут быть разной длины и съезжать из-за этого).
Landberk
Нужно ли учить числа в разных системах счисления(возможно, нужно иметь какую-нибудь таблицу с переведенными числами) или как распознавать код, где именно они могут пригодиться?
Для систем счисления выучивается математический принцип формирования любого числа в любой системе счисления. Есть ещё ряд фишек, через которые можно быстро переводить из некоторых систем в другие по-быстрому.
Landberk
где именно они могут пригодиться?
В обычной жизни - адреса в памяти обычно в 16-ричной системе записываются. Открываешь программу какую-нибудь, а в ней файл бинарный; и вот чтобы перейти к какому-нибудь байту в этом файле, нужно знать 16-ричный адрес строки (строки - это отрезки по 16 байт). А сами байты записаны тоже в 16-ричной системе, потому что многие из них не имеют графического представления (в программах изображаются точками-пустотами). Ещё трафик если сетевой просматриваешь, там все сетевые пакеты тоже в таком виде. На старых компах 8-ричной системой пользовались. Сейчас в неё часто можно переходить из 16-ричной системы (если это кому надо). Ещё двоичная система часто используется. Чтобы передать модему, например, информацию типа: “включи режим такой-то”, “выключи режим такой-то”, “добавь данные такие-то”, “включи лампочку такую-то”, - достаточно просто каждую команду представить в виде одного бита (0/1 - да/нет), а потом эти биты выстроить в последовательность и засунуть
в один байт. Так передаётся один байт (символ просто какой-то), в котором куча разных команд.