Я пытался создать программу, которая преобразует от десятичной к двоичной, и у меня возникают проблемы. Взгляните на то, что у меня есть, и дайте мне ногу в правильном направлении, программа компилирует, но возвращает отрицательные числа. Я отлаживаю прямо сейчас, но как только компилятор попадает в переменную 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]; здесь [8] = something;' UB. –
Массивы на C++ не работают так. –