• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Перевод Из Сс

  • Автор темы Автор темы 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;
}
 
да в scanf %c
и в цикле замени c=a; на с=a-48;
правильный результат для чисел меньше 9(это по твоему алгоритму)
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab