Skip to content

Instantly share code, notes, and snippets.

@AndreasHassing
Created December 30, 2014 12:48
Show Gist options
  • Save AndreasHassing/7437d636e71e56f77bb8 to your computer and use it in GitHub Desktop.
Save AndreasHassing/7437d636e71e56f77bb8 to your computer and use it in GitHub Desktop.
// Spørgsmål:
/*
Beskriv nogle regneudtryk (af type int eller double, med
operatorer såsom * + - / % osv) og nogle logiske udtryk (af type
boolean, med operatorer såsom == != < > <= >= ! && ||), hvordan de
udregnes og hvor de bruges.
*/
// int og double (+ / -)
7 + 5 // = 12, to ints. Resultat er en int.
7 + 5.0 // = 12.0, en int og en double. Resultat er en double.
// integer division
7 / 3 // = 2, integer division smider decimalet, derfor giver 7 / 3 = 2, i stedet for 2.33333...
14 / 5 // = 2, "burde" være 2.8, men ints ved ikke hvad decimaler er, så de smider dem væk.
4 / 2 // = 2, her er det OK! Ingen data er tabt.
// mixed division
7 / 3.0 // eller ..
7.0 / 3 // = 2.333333333333335
// ^ WTF?! 5-tal? Burde det ikke være 2.3333333333 i en uendelighed?
// både ja og nej. En computer kan ikke holde på uendelig data, så før eller siden
// bliver divisionen upræcis og ender på 'forkerte' tal. Så regn kun med at de første
// par decimaler taler sandt.
14.0 / 5 // = 2.8 !! woop woop!
// double division, division med tal der begge har decimaler, eller er af typen (float/double/long)
7.0 / 3.0 // = 2.3333333333335 - samme resultat som mixed division
/* Truthy shit! Working with booleans and logical operators <3 */
true == true // That truth is so truthy!
false == false // wait what? Oh yeah! 'tis also Truthy! False IS false, so the STATEMENT is true.
true || true && false // oh snap.. Den er svær. Mjah, ikke rigtig! Den er sand, da vi ser true først
// og så en 'or' og er tilfredse!
true && false // hvad så med her? Falsk! Vi ser true, men er ikke tilfredse endnu, da der er en && (and)
// så både True OG false skal være sande.. Men det er de jo ikke. Altså er udtrykket (the statement) falsk.
!!!true // ehm? ikke-ikke-ikke-true. Så hvad er den? False! Ligesom at gange med minus 1 -> hvert '!'
// betyder 'ikke', så vi ender med et falsk udtryk.
!false // sandt nok! ;)
15 > 16 = false // NOPE! Falsk!
16 >= 16 = true // 16 er større end ELLER LIG MED 16!
15.0 == 15 = true // ja den er tricky, og alligevel ikke. 15.0 ER jo lig med 15! Så den er god nok, true!
15.00000000000001 == 15 = false // ikke det samme længere!
1 != 2 = true // thaaats right! 1 er IKKE lig med 2.. Mærkelig verden..
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment