我在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;
}
Run Code Online (Sandbox Code Playgroud)
非常感谢大家提前.你总是非常有帮助:)
编辑:现在修复 - 感谢一堆:D问题是我没有存储位移的值.我已将代码更新到上面的工作状态.