Тип integer использует всю свою память - обычно 32 или 64 бита - для охвата максимально возможного диапазона различных целочисленных значений. Он не отслеживает никакой информации о форматировании / отображении. Следовательно, даже 32-битное значение может отслеживать около 4 миллиардов различных значений, но их отображение на экране, в файлах и т. Д. Должно определяться окружающим кодом и не является свойством самого integer. . Итак, если у вас есть целое число, вы можете выбрать форматирование при его отображении. Это можно сделать разными способами. Самый распространенный способ C ++ - использовать std::ostream и заголовок <iomanip>, который включает поддержку указания ширины поля и символа заполнения / заполнения. Для примера см. http://www.cplusplus.com/reference/iostream/manipulators/setw/, и вы можете перейти по ссылке «См. также» для setfill. Способ, унаследованный от C, ...
printf("%02d", n);
... где первый раздел строки в двойных кавычках содержит «строку формата», в которой% представляет преобразование, 0 означает заполнение, а 2 - ширину, d означает следующее десятичное / целое значение в списке аргументов.