Article View: be.comp.programming
Article #5241Re: een algoritme...
From: Roel Schroeven
Date: Fri, 16 May 2003 07:49
Date: Fri, 16 May 2003 07:49
39 lines
3744 bytes
3744 bytes
TRAX wrote: > opgelost :) > ik durf het bijna niet zeggen maar ik had mijn breakpoint een lijntje te > vroeg gezet :( Het overkomt de besten... > zou je mij dat proces eens kunnen uitleggen hoe die tag gemaakt wordt? Die tag is een int van 32 bit. Dat het een int is, daar trekken we ons niet veel van aan, wel dat we er 32 bits in kwijt kunnen. 'rij << 16' schuift alle bits in rij 16 posities naar links, en voegt rechts nulletjes toe. Daardoor komt het rijnummer in de hoogste 16 bits te staan, als de rij in 16 bits past (m.a.w. <= 65535). Anders zullen er een paar bits wegvallen. '(rij << 16) | kolom' combineert dat middels een bitgewijze OR met de waarde van kolom, die nog in de laagste 16 bit staat (weerom ervan uitgaand dat ze in 16 bits past). Het uitpakken is hetzelfde, maar andersom. 'Tag >> 16' schuift de hoogste 16 bits weer naar de laagste 16, en '& 0xffff' is een AND met een mask om zeker enkel die laagste 16 bits over te houden (* zie noot onderaan). Zo halen we de hoogste 16 bits er weer uit. 'Tag & 0xffff' doet hetzelfde, maar dan voor de laagste 16 bit. (*) Als je op bit-niveau werkt, gebruik je eigenlijk beter unsigned ints i.p.v. gewone. Als je anders een right shift doet van een negatief getal, komen er links 1-tjes bij in plaats van nulletjes. Hier wordt dat probleem opgevangen door die mask. Nog een opmerking: in plaats van 16 kan je ook een andere shift gebruiken, en dan kan je meer rijen maken ten koste van het aantal kolommen, of andersom. De masks moeten dan natuurlijk ook aangepast worden. -- "Codito ergo sum" Roel Schroeven
Technical Details
Message-ID:
<mK0xa.4325$1u5.339@afrodite.telenet-ops.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-04!sn-xit-01!sn-xit-08!supernews.com!newsfeeds.sol.net!news-out.cwix.com!newsfeed.cwix.com!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mailReferences:
<T%awa.698$1u5.156@afrodite.telenet-ops.be> <fXdwa.1083$1u5.154@afrodite.telenet-ops.be> <y%kwa.1270$1u5.216@afrodite.telenet-ops.be> <8nmwa.1335$1u5.157@afrodite.telenet-ops.be> <Iumwa.1342$1u5.172@afrodite.telenet-ops.be> <1rnwa.1395$1u5.221@afrodite.telenet-ops.be> <WXswa.12970$me2.1724304@amsnews02.chello.com> <S7twa.1963$1u5.278@afrodite.telenet-ops.be> <9gtwa.13139$me2.1757061@amsnews02.chello.com> <mQxwa.2396$1u5.372@afrodite.telenet-ops.be> <E6Iwa.3025$1u5.276@afrodite.telenet-ops.be> <TgJwa.3089$1u5.223@afrodite.telenet-ops.be> <qBJwa.3110$1u5.237@afrodite.telenet-ops.be> <WHJwa.3118$1u5.410@afrodite.telenet-ops.be> <kIKwa.3217$1u5.383@afrodite.telenet-ops.be> <iPMwa.3361$1u5.288@afrodite.telenet-ops.be> <h3Nwa.3375$1u5.326@afrodite.telenet-ops.be> <eONwa.3428$1u5.149@afrodite.telenet-ops.be> <T6Owa.3443$1u5.149@afrodite.telenet-ops.be> <H8Owa.3445$1u5.182@afrodite.telenet-ops.be> <xoPwa.3546$1u5.94@afrodite.telenet-ops.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,dcf5f7295edf5117 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2003-05-16 00:52:05 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-04!sn-xit-01!sn-xit-08!supernews.com!newsfeeds.sol.net!news-out.cwix.com!newsfeed.cwix.com!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail From: Roel Schroeven <j4nff5m02@sneakemail.com> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4b) Gecko/20030507 X-Accept-Language: nl-be, nl, en-us, en MIME-Version: 1.0 Newsgroups: be.comp.programming Subject: Re: een algoritme... References: <T%awa.698$1u5.156@afrodite.telenet-ops.be> <fXdwa.1083$1u5.154@afrodite.telenet-ops.be> <y%kwa.1270$1u5.216@afrodite.telenet-ops.be> <8nmwa.1335$1u5.157@afrodite.telenet-ops.be> <Iumwa.1342$1u5.172@afrodite.telenet-ops.be> <1rnwa.1395$1u5.221@afrodite.telenet-ops.be> <WXswa.12970$me2.1724304@amsnews02.chello.com> <S7twa.1963$1u5.278@afrodite.telenet-ops.be> <9gtwa.13139$me2.1757061@amsnews02.chello.com> <mQxwa.2396$1u5.372@afrodite.telenet-ops.be> <E6Iwa.3025$1u5.276@afrodite.telenet-ops.be> <TgJwa.3089$1u5.223@afrodite.telenet-ops.be> <qBJwa.3110$1u5.237@afrodite.telenet-ops.be> <WHJwa.3118$1u5.410@afrodite.telenet-ops.be> <kIKwa.3217$1u5.383@afrodite.telenet-ops.be> <iPMwa.3361$1u5.288@afrodite.telenet-ops.be> <h3Nwa.3375$1u5.326@afrodite.telenet-ops.be> <eONwa.3428$1u5.149@afrodite.telenet-ops.be> <T6Owa.3443$1u5.149@afrodite.telenet-ops.be> <H8Owa.3445$1u5.182@afrodite.telenet-ops.be> <xoPwa.3546$1u5.94@afrodite.telenet-ops.be> In-Reply-To: <xoPwa.3546$1u5.94@afrodite.telenet-ops.be> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Lines: 40 Message-ID: <mK0xa.4325$1u5.339@afrodite.telenet-ops.be> Date: Fri, 16 May 2003 07:49:38 GMT NNTP-Posting-Host: 213.119.50.61 X-Complaints-To: abuse@telenet.be X-Trace: afrodite.telenet-ops.be 1053071378 213.119.50.61 (Fri, 16 May 2003 09:49:38 MET DST) NNTP-Posting-Date: Fri, 16 May 2003 09:49:38 MET DST Organization: Telenet Internet