Indledende Datalogi /kelk 1 Nice to know ”Terniary operator” – ”?:” Bitwise operatorer og hexadecimale tal
Indledende Datalogi /kelk 2 ’Terniary’ Operator - ?: if/else kan skrives kort – især hvis begge tilfælde ender med en ”assignment” (tilskrivning) til samme variabel: if (sirname) name = ”Nielsen, Jens”; else name = ”Jens Nielsen”; //Kan skrives som: name = (sirname) ? ”Nielsen, Jens” : ”Jens Nielsen”; //Et hard-core eksempel – udskrift: …print(x+((++colnum %10==0) ? “\n” : “\t”));
Indledende Datalogi /kelk 3 Hexadecimale tal I nogle situationer er det praktisk, let at kunne se bitmønstret i et tal Det er ikke let med decimale tal..Og 16 eller 32 bits kan være svære at overskue (og huske) Et hexadecimalt tal er en gruppe på fire bits samlet som et ciffer. 4 bit 2 4 = 16 værdier: 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f 32 bits kan således ses som 4 hex cifre I C & java skrives ”0x” foran cifrene – f.eks.: 0x8ab5
Indledende Datalogi /kelk 4 Hexadecimale tal Hvis cifrene tælles fra højre startende med ciffer 0 (husk at et tal i ”nul’te” er 1): Decimalt (base 10): = 1* * *10 0 Binært (base 2): = 1*2 2 +0*2 1 +1*2 0 (5 10 ) Hex(base 16):8e5 16 = 8* * *16 0 ( ) Windows calculator can ændre view til scientific og dermed bruges som converter og hex-regner.
Indledende Datalogi /kelk 5 Nogle Bitwise operatorer & AND | OR xaf xaf xce xce x8e xef Husk: && og || er logiske, & og | er bitwise
Indledende Datalogi /kelk 6 Andre bitwise operatorer ~ NOT ^ XOR << Left Shift >> Right shift with sign >>> Right shift with zero fill Samt ~=, ^=, |=, &=.... Se appendix D og E i bogen