Пытаюсь перевести десятичное число в двоичное, с незначащими нулями в начале(восьми-битная запись)
while(j<i) {
u = 128;
while (true)
{
if (A[j] & u) {
num2[k] = '1';
k = k + 1;
}
else {
num2[k] = '0';
k = k + 1;
}
if (u == 1)
break;
u >>= 1;
}
j = j + 1;
//u = 128;
}
num2[k] = '\0';
Исправил немного , visual ругается на
if (A[j] & u)
Оригинал тут https://ru.stackoverflow.com/a/99091/258486
73в восьми битах записывается как01001001. Откуда взялось "должно быть1001001"??? Также, старший бит среди восьми битов имеет вес128. Почему тогда у вас проверки начинаются с256? Исправляем256на128- получаем01001001, как и должно быть. – AnT stands with Russia Mar 15 '18 at 22:35'\0'? – AnT stands with Russia Mar 15 '18 at 22:38256и128. Сейчас вдруг стало непонятно что. Почему вдругj = j + 1;уехало внутрь внутреннего цикла??? Зачем вы это сделали? Вы что ли тупо случайным образом корежите код? – AnT stands with Russia Mar 15 '18 at 22:48