我試圖創建一個從十進制轉換爲二進制的程序,我遇到了麻煩。看看我所擁有的東西,並讓我在正確的方向上邁步,程序編譯但返回負數。我現在正在調試,但只要編譯器遇到num
變量,它就會彈出一個負數。C++從二進制簡單轉換爲十進制
#include <iostream>
using namespace std;
int hexConvert(int* num, int Hexes[8]) {
//int* Hexes[8] = &Hexes[8];
int empty[8];
for(int i = 0; i < 8; i++) {
if(Hexes[i]-*num >= 0) {
*num = (Hexes[i] - *num);
empty[i] = 1;
} else
empty[i] = 0;
}
return empty[8];
}
int Hexes[8] = {128,64,32,16,8,4,2,1};
int main() {
int num = 0;
int here[8];
here[8] = hexConvert(&num,&Hexes[8]);
for (int i = 0; i < 8; i++)
cout << here[i];
}
您應該將其發佈爲codereview.stackexchange.com –
int here [8]; here [8] = something;'是UB。 –
C++中的數組不能像那樣工作。 –