У меня есть домашнее задание в моем классе программирования C ++, чтобы написать функцию, которая выводит двоичное значение значения переменной.
Так, например, если я установлю значение "a" вchar Я должен получить двоичное значение вывода "a".
Мой профессор C ++ не самый лучший в мире, и у меня возникают проблемы с тем, чтобы заставить мой код работать, используя загадочные примеры, которые он нам дал.Прямо сейчас мой код просто выводит двоичное значение 11111111 независимо от того, что я его тоже установил (если только его NULL, тогда я получу 00000000).
Вот мой код:
#include <iostream>
#define useavalue 1
using namespace std;
void GiveMeTehBinary(char bin);
int main(){
#ifdef useavalue
char b = 'a';
#else
char b = '\0';
#endif
GiveMeTehBinary(b);
system("pause");
return 0;
}
void GiveMeTehBinary(char bin){
long s;
for (int i = 0; i < 8; i++){
s = bin >> i;
cout << s%2;
}
cout << endl << endl;
}
Спасиботонна заранее, ребята.Вы всегда очень полезны:)
Редактировать: Исправлено сейчас - спасибо большое: D Проблема заключалась в том, что я не сохранял значение из сдвига битов.Я обновил код до его рабочего состояния выше.