• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Приглашаем на KubanCTF

    Старт соревнований 14 сентября в 10:00 по москве

    Ссылка на регистрацию в соревнованиях Kuban CTF: kubanctf.ru

    Кодебай является технологическим партнером мероприятия

Перевод Из Сс

  • Автор темы marina12
  • Дата начала
M

marina12

Задание - написать программу,которая переводила бы число типа unsigned char из десятичной СС в двоичную. Начала писать, используя операцию побитового сдвига, программа выдает правильный результат, но в конце выскакивает окно с ошибкой "debug error".Подскажите пожалуйста, в чем ошибка, заранее спасибо!(Знаю, что в scanf должно быть не %d, а %c (так как тип char), но когда правлю это, программа выдаёт неправильный результат, а ошибка "debug error" уже не выскакивает.
C++:
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
int main()
{
unsigned char a;
int c;
printf("vvedite desyatichnoe chislo=");
scanf("%d",&a);
printf("dvoichnoe chislo=");
for (int i=0;i<8;i++)
{
c=a;
printf("%d",((c<<i)>>7)&1);
}
return 0;
}
 
W

Whatka

да в scanf %c
и в цикле замени c=a; на с=a-48;
правильный результат для чисел меньше 9(это по твоему алгоритму)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!