C++ Yardım
-
elimde "int arr[32]" şöyle bir array var diyelim... bunun entryleri 0 ya da 1 olsun ve bunların her biri aslında bir int'in binary değerinin bir basamağı olsun... bu array'in entrylerini birleştirip nasıl o sayıya ulaşabilirim? beynim durdu...
mesela bir char için örnek vereyim: int arr[8]={0, 1, 0, 1, 0, 0, 1, 1};
bu aslında 'S' nin binary değerinin bir array içinde gizlenmiş hali...benim elimde array var. 'S' ye nasıl ulaşabilirim.. -
#include <iostream>
#include <cstdlib>
#include <string>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
int arr[] = { 0,1,0,1,0,0,1,1 };
int size = (sizeof(arr)/sizeof(int));
double taban = 2.0;
double us = 0.0;
double karakter=0.0;
for(int i=0;i<size;i++)
{
karakter += (pow(taban,us++) * arr[(size-1)-i]);
}
cout<<(char)karakter<<endl;
return EXIT_SUCCESS;
}ya iyi bir muhendislik ornegi olmadi hatta kotu oldu bu yapim ama :( ne bileiym bir anda boyle geldi aklima.
tabi array sabit aliniyor ama ne blieyim vector yaparsin filan sizeof lari kendn ona gore yaparsin istersen.
bu arada system("PAUSE"); yi koyarsin eger windowsta calisiyorsan. linuxta derledim verdigi cikti "S" ti yani senin istedigin windowsta ne gibi etkiler yapiyor bilemiyorum :( neyse sen bir dene kardesim , ama tabi verimli ve iyi olmadigin bende kabul ediyorum , neyse insallah baska arkadaslarda yardim eder eger istedigin olmadiysa.
