Gå til innhold

Vil ha hex tall, men får det ikke, feil i syntax?


Anbefalte innlegg

Skrevet

hei! jeg har startet å lese boka c++ for dummies og har komt til et eksempel. Bruker dev++. Jeg har tastet inn alt som står i et eksempel der.

#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;

int main(int nNumberofArgs, char* pszArgs[])
{
// set output format to hexadecimal

cout.setf(cout.hex);

// initialize two arguments

int nArg1;
nArg1 = 0x1234;
int nArg2;
nArg2 = 0x00ff;

// now perform each operation in turn
// first the unary NOT operator

cout << "Arg1 = 0x" << nArg1 << "\n";
cout << "Arg2 = 0x" << nArg2 << "\n";
cout << "~nArg1 = 0x" << ~nArg1 << "\n";
cout << "~nArg2 = 0x" << ~nArg2 << "\n";

// now the binary operators

cout << "nArg1 & nArg2 = 0x"
    <<  (nArg1 & nArg2)
    << "\n";
cout << "nArg1 | nArg2 = 0x"
    << (nArg1 | nArg2)
    << "\n";
cout << "nArg1 ^ nArg2 = 0x"
    << (nArg1 ^ nArg2)
    << "\n";

// wait until user is ready before terminating program
// to allow the user to see the program results

system("PAUSE");
return 0;
}
   


DETTE ER RETT IFRA BOKA

 

ifølge boka, skal resultatet bli slik:

 

Arg1 = 0x1234
Arg2 = 0xff
~nArg1 = 0xffffedcb
~nArg2 = 0xffffff00
nArg1 & nArg2 = 0x34
nArg1 | nArg2 = 0x12ff
nArg1 ^ nArg2 = 0x12cb
Press any key to continue .

 

Men sånn blir det ikke. Jeg får isteden dette:

 

Arg1       = 0x 4660
Arg2       = 0x 255
~Arg1      = 0x 4294962635
~Arg2      = 0x 4294967040
nArg1 & nArg2 = 0x52
nARg1 || nArg2 = 0x1
nArg1 ^ nArg2 = 0x4811
Trykk en tast for å fortsette...

 

HMM..hva er gjort feil? har til og med brukt copy/ paste rett ifra boka?

 

grunnen til at jeg spør om dette er for å prøve å lære og forstå bruk av bitwise operators.

Videoannonse
Annonse
Skrevet

Har ikke C++ kompilator på maskinen her, men om du skifter

cout << "Arg1 = 0x" << nArg1 << "\n";

til

cout << "Arg1 = 0x" << hex << nArg1 << "\n";

(og tilsvarende i de andre linjene) ?

Skrevet

Jeg foreslår for øvrig at du skaffer deg en ny bok. C++ for dummies er kort sagt bare godt for én ting: Opptenningsved.

 

En rask begrunnelse: Boken lærer deg dårlige vaner, og gir deg dårlig innsikt i flere temaer. Boken gir deg en dårlig vinkling, som fører til at du lærer å skrive dårligere kode enn optimalt.

Skrevet

Ja, den boka suger på alle områder.

Selv da jneg nesten var ferdig med den boka, visste jeg så vidt hva verken funksjoner eller klasser var. :no:

Forfatteren er elendig til å forklare,

Skrevet (endret)

hmm....hittil så synest jeg at boka har vært grei..med tanke på at jeg faktisk ikke har NOEN erfaring med c++ eller andre språk før. Ivertfall lærer den meg endel av d basiske..

 

men noen som har noen anbefalinger av andre bøker da? og hvor mye koster egentlig disse bøkene? er fattig student jeg :roll:

Endret av Gromguten

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...