Veprime te veshtira binare ne c++ string binar E.Cuni.cpp

Shkarkuar 614 herë. Ngarkuar më Mars 2010

c++
unar
binar
triar
shr
shl
Shkarko Kthehu ne C++
/*
 * Praktike me veprime binare ne C++
 * Perdorime te operatorit triar, Shift Left(<<=), Shift Right(>>=),
 * veprime bitwise(|) (&), krahasime logjike(&&)(||) etj
 * Dy menyra per te paraqitur nje variabel ne formen binare te saj
 * 
 * Eduard Cuni, shkurt 2010
 */

#include <iostream>
#include <cstdlib>
#include <string>

#define dType unsigned char
//provo te ndryshosh ne rreshtin e mesiperm tipin nga char ne int ose short

using namespace std;

//String S shton bitet nga fillimi nje nga nje, pastaj paraqitet
void neBinarMeString(dType nr)
{
    string S = "\0";
    dType shifra = sizeof(nr)*8;
    while(shifra--)
    {  
       //literali 1 ka vetem bitin e fundit(djathtas) 1 dhe te tjeret 0
       //ketu perdoret si maske     
       S = (nr&1) ? '1' + S : '0' + S; 
       nr >>=1;
    }
    cout<<S<<endl;
}

void neBinarPaString (dType nr)
{
     dType maska=1;
     dType shifra = sizeof(nr)*8;
     
     maska <<=(shifra-1);
     
     while(shifra--)
     {
        cout<<(nr & maska?1:0);
        nr<<=1;
     }
     cout<<endl;
}
     
int main()
{
    cout<< "Paraqitja binare e "<< 1 <<":  ";
    neBinarMeString(1);
    cout<< "Paraqitja binare e "<< 10 <<": ";
    neBinarPaString(10);

    system("PAUSE");
    return EXIT_SUCCESS;
}