Avatar billede kube Nybegynder
22. december 2004 - 01:49 Der er 10 kommentarer og
1 løsning

forklaring af lidt kode?

Hej
jeg har brug for lidt forklaring af hvad der sker i detaljer ved denne kode, der returnere true hvis serial er et ulige tal:

return (serial & 1) == 1;

Hvad sker der helt konkret?
Avatar billede kalp Novice
22. december 2004 - 02:03 #1
vil lade en anden forklare koden der... for har aldrig selv brugt den men kan du ikke lave den sådan her istedet?

if(serial * 2 == 0)
return true;
else return false;
Avatar billede ranglen Nybegynder
22. december 2004 - 02:05 #2
serial & 1 kontroller om første bit er sat. Hvis første bit er sat, vil udtrykket give 1.

Ulige tal har altid først bit sat. Altså har vi, 1 == 1 => true, når første bit er sat.


Sandhedstabel for and:
0 & 0 = 0
0 & 1 = 0
1 & 0 = 0
1 & 1 = 1

Er du med?
Avatar billede ranglen Nybegynder
22. december 2004 - 02:12 #3
kalp, hvis serial = 3

if(3*2 == 0) return true; // hmm, 6 == 0, nej
else return false; // så kom vi hertil, men 3 er da ikke et lige tal?
Avatar billede ranglen Nybegynder
22. december 2004 - 02:14 #4
men klokken er jo også mange :)

if(serial % 2 == 0)
Avatar billede arne_v Ekspert
22. december 2004 - 08:15 #5
serial & 1

og

serial % 2

gør det samme for positive tal
Avatar billede kalp Novice
22. december 2004 - 11:04 #6
ranglen... som du sagde på et tidspunkt kl. var mange hehe: )
Avatar billede kube Nybegynder
22. december 2004 - 12:40 #7
Hej,
okay så udtrykket (serial & 2) er altså noget bit kontrol. Det var det jeg var ude efter. Har nemlig aldrig det set det før.

Kender nogen en Java tutorial på bit området?
Avatar billede kube Nybegynder
22. december 2004 - 12:42 #8
(serial & 1)!
Avatar billede arne_v Ekspert
22. december 2004 - 12:49 #9
Avatar billede kube Nybegynder
22. december 2004 - 12:56 #10
ja, det ser fint ud. Laver ranglen og arne_v et svar
Avatar billede arne_v Ekspert
22. december 2004 - 13:10 #11
ok
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