Нужно при помощи битовой маски (побитовое &) в char в си "перевести" число в двоичную систему методом условий. Т.е. если например при наложении маски получается 1, то он выводит единицу как символ. Далее если 0 - ноль как символ. и получается просто ряд символов из нулей и единиц на вид как число в двоичной.
Вот код:
При таком коде получается всегда число 11111111. Где ошибка?
Добавлено спустя 10 минут 28 секунд:
Тему можно закрывать, допёр)
Вот код:
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{ char a, n;
scanf ("%i", &a);
if (a&128==0) printf ("0"); else printf ("1"); // накладывыем маску для определения первого разряда числа
if (a&64==0) printf ("0"); else printf ("1"); // второго
if (a&32==0) printf ("0"); else printf ("1"); // третьего
if (a&16==0) printf ("0"); else printf ("1"); // четвертого
if (a&8==0) printf ("0"); else printf ("1"); //пятого
if (a&4==0) printf ("0"); else printf ("1"); // шестого
if (a&2==0) printf ("0"); else printf ("1"); // седьмого
if (a&1==0) printf ("0"); else printf ("1"); //восьмого
scanf (" "); }
int _tmain(int argc, _TCHAR* argv[])
{ char a, n;
scanf ("%i", &a);
if (a&128==0) printf ("0"); else printf ("1"); // накладывыем маску для определения первого разряда числа
if (a&64==0) printf ("0"); else printf ("1"); // второго
if (a&32==0) printf ("0"); else printf ("1"); // третьего
if (a&16==0) printf ("0"); else printf ("1"); // четвертого
if (a&8==0) printf ("0"); else printf ("1"); //пятого
if (a&4==0) printf ("0"); else printf ("1"); // шестого
if (a&2==0) printf ("0"); else printf ("1"); // седьмого
if (a&1==0) printf ("0"); else printf ("1"); //восьмого
scanf (" "); }
Добавлено спустя 10 минут 28 секунд:
Тему можно закрывать, допёр)