Avatar billede danielhep Nybegynder
07. maj 2004 - 00:42 Der er 19 kommentarer og
1 løsning

kernel hjælp til at forstå

class Video
{
public:
        Video() ;
        ~Video() ;
        void clear() ;
        void write(char *cp) ;
        void put(char c) ;
private:
        unsigned short *videomem ;  //pointer to video memory
        unsigned int off ;                    //offset, used like a y cord
        unsigned int pos ;                  //position, used like x cord

}; //don't forget the semicolon!


void Video::clear()
{
        unsigned int i;
       
        for(i=0; i<(80*25); i++)
        {
                videomem[i] = (unsigned char) ' ' | 0x0700 ;
        }
        pos=0 ; off=0 ;
}

ok, der er en ting her som jeg ikke fatter...
Den her linie er lidt underlig.... ' ' | 

hvad fa´en betyder det ???
videomem[i] = (unsigned char) ' ' | 0x0700 ;
Avatar billede arne_v Ekspert
07. maj 2004 - 00:46 #1
| er binær OR
Avatar billede danielhep Nybegynder
07. maj 2004 - 00:47 #2
ehhh
Avatar billede danielhep Nybegynder
07. maj 2004 - 00:47 #3
1)
videomem[i] = (unsigned char) ' ' | 0x0700 ;

2)
videomem[i] = (unsigned char)  | 0x0700 ;

hvad er forskellen ?
Avatar billede arne_v Ekspert
07. maj 2004 - 00:48 #4
' ' = 0x20
0x20 | 0x0700 = 0x0020 | 0x0700 = 0x0720
Avatar billede arne_v Ekspert
07. maj 2004 - 00:48 #5
re 1)

se sidste kommentar

re 2)

er næppe validt C kode
Avatar billede danielhep Nybegynder
07. maj 2004 - 00:50 #6
0x20 er det (unsigned char)
Avatar billede arne_v Ekspert
07. maj 2004 - 00:50 #7
| e binær OR
& er binær AND
^ er XOR
~ er ones complement
Avatar billede arne_v Ekspert
07. maj 2004 - 00:51 #8
Nej - et mellemrum er 1 byte med 0x20

Den type cast til unsigned char er så vidt jeg kan se helt overflødig.
Avatar billede danielhep Nybegynder
07. maj 2004 - 00:52 #9
0x0700 = mellenrum  ?
Avatar billede arne_v Ekspert
07. maj 2004 - 00:53 #10
Nej - ' ' er et mellemrum
Avatar billede danielhep Nybegynder
07. maj 2004 - 00:54 #11
efter at eksperten var nede for at opdatere hardware, har jeg fået nogle spørgsmål åbner igen, hvor du har fået point.  har du set noget underligt i dit point system ?
Avatar billede danielhep Nybegynder
07. maj 2004 - 00:55 #12
videomem[i] = (unsigned char) ' ' | 0x0700 ;

videomem[i] = ' ';

hvor ikke den sidste så..jeg fatter det ikke...
Avatar billede bertelbrander Novice
07. maj 2004 - 00:55 #13
0x0700 er attributten, dvs farven, på karakteren.
Avatar billede arne_v Ekspert
07. maj 2004 - 00:59 #14
Eksperten mistede alle database transaktioner for 5 uger + 1 dag.

Dine accepter svar må have været iblandt dem.
Avatar billede arne_v Ekspert
07. maj 2004 - 01:00 #15
Som Bertel forklarer så er det short = 2 byte = attributter (farve) + tegn
Avatar billede danielhep Nybegynder
07. maj 2004 - 01:01 #16
nu har mine  afferente nevroner vidst nok fået fat i den...  he he
Avatar billede danielhep Nybegynder
07. maj 2004 - 01:02 #17
der er også sket det at jeg har fået flere point ude ved at prøve at give points igen....
Avatar billede danielhep Nybegynder
07. maj 2004 - 01:03 #18
giv et svar... :)
Avatar billede arne_v Ekspert
07. maj 2004 - 01:04 #19
Det sidste kan jeg ikke forklare.

Men som sagt er der forsvunder over en måned:
- spørgsmål du har oprettet før og accepteret svar i perioden må du acceptere igen
- spørsmål oprettet i perioden er sporløst forsvundet
Avatar billede arne_v Ekspert
07. maj 2004 - 01:04 #20
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester