В основной у меня естьC++ не может преобразовать Int на символ в целое снова
int main()
{
int counter = 0;
int loop = 50;
for(int p1 =0; p1 <256; p1++){
for(int p2 =0; p2 <256; p2++){
for(int da =0; da <256; da++){
будет цикл до (p1, p2, да) = (255,255,255).
char *RGBA = new char[4];
Dynamicaly alocate 4-байтовый массив для цвета rgba.
int Catch = Encode(p1, p2, da, RGBA);
if ((int)RGBA[3] != da)
{
cout << (int)RGBA[3] << " != " << da << endl;
}
В будущем Encode будет фактической кодирования, но теперь он просто делает RGBA = {p1, p1, да, да}
Тогда если RGBA [3]! = Да (который не должен печатать как)
counter += 1;
if(counter == loop)
{
cin.get();
counter = 0;
delete[] RGBA;
RGBA = nullptr;
}
}}}
cin.get();
return 0;
}
Моя проблема заключается в том, что, когда я запускаю код для первых 100 циклов он работает хорошо, но после того, что я получаю странные результаты, как:
-128 != 128
-127 != 129
-126 != 130
-125 != 131
-124 != 132
-123 != 133
-122 != 134
-121 != 135
В кодированию:
int Encode(int Pas1, int Pas2,int Data, char to_Store[4])
{
to_Store[0] = Pas1;
to_Store[1] = Pas2;
to_Store[2] = Data;
to_Store[3] = Data;
return 0;
}