У меня проблема с созданной функцией в C++, которая вернет мне двоичное число.DEC to BIN using for и
function(unsigned short int user_input, int tab[16]) {
for(ii = 0; ??; ii++)
tab[ii] = i % 2;
i = i/2;
}
Пользователь вводит номер DEC и возвращает БИН.
Должен ли я просто набрать ii < 16? Он работает, но это правильно?
Возможно, вы хотите гарантировать только 16-битное значение, создав user_input типа 'uint16_t'. Это будет более переносимым и избежать ситуации, когда компилятор/архитектура задает значение unsigned short, чтобы не было 16 бит. См. Http://stackoverflow.com/questions/15505828/what-is-the-short-data-type-in-c – Chimera
он должен выглядеть так, как я писал. например, если i type 5 i get 00000000 00000101 –
Да, ваш код работает. Я не предлагаю, чтобы этого не случилось. Я предполагаю, что, чтобы избежать различий в реализации компилятора, вы можете указать свой user_input как 'uint16_t', а не считать, что' unsigned short int' всегда будет 16 бит. – Chimera