C++ 将二进制转换为十六进制:仅在2-7上出错
我正在使用一个基本的switch case语句将4digit binary转换为一位数hex,由于某种原因,代码不会针对数字0010-0111运行,我不知道为什么 以下是我所拥有的:C++ 将二进制转换为十六进制:仅在2-7上出错,c++,binary,calculator,C++,Binary,Calculator,我正在使用一个基本的switch case语句将4digit binary转换为一位数hex,由于某种原因,代码不会针对数字0010-0111运行,我不知道为什么 以下是我所拥有的: void BinHex() { int binin; cout << "Enter Binary(####): " << endl; cin >> binin; switch(binin){
void BinHex() {
int binin;
cout << "Enter Binary(####): " << endl;
cin >> binin;
switch(binin){
case 0000: cout << "Hex: 0" << endl; break;
case 0001: cout << "Hex: 1" << endl; break;
case 0010: cout << "Hex: 2" << endl; break;
...
}
}
void BinHex(){
int-binin;
库特比宁;
开关(binin){
案例0000:cout本案例:
case 0010: cout<<"Hex: 2\n"; break;
案例0010:cout此案例:
case 0010: cout<<"Hex: 2\n"; break;
case 0010:coutA开关不带{}“你是怎么声明你的宾语的?是什么,是什么?代码BIN < /代码>?如果它是一个数字,你可以使用<代码> 0代码>代码< 15 > /CODE,因为内部的表示是相同的。如果它是字符串,我不知道C++是否支持开关。而且,是的,从<代码> 0 <代码>开始的数字被认为是八进制,而不是二进制。@ Borgleader我的实际switch语句包含相应的方括号。很抱歉。@SJuan76我的binin是一个4位二进制值(0000000 10010,…,1111),一个没有{}的开关“你是怎么声明你的宾语的?是什么,是什么?代码BIN < /代码>?如果它是一个数字,你可以使用<代码> 0代码>代码< 15 > /CODE,因为内部的表示是相同的。如果它是字符串,我不知道C++是否支持开关。而且,是的,从<代码> 0 <代码>开始的数字被认为是八进制,而不是二进制。@ Borgleader我的实际switch语句包含相应的括号。很抱歉。@SJuan76我的binin是一个4位二进制值(0000000 10010,…,1111)