d1 <- 8L + 2L
# d1 = 10
d2 <- 8L - 2L
# d2 = 6
d3 <- 8L * 2L
# d3 = 16
# / always gives a double
d4 <- 8L / 2L
# d4 = 4
d4_class <- class(d4)
# d4_class = numeric
d5 <- 5L %% 2L
# d5 = 1
# The sign of the divisor, not -1
d6 <- -5L %% 2L
# d6 = 1
d7 <- 5L %/% 2L
# d7 = 2
d7_class <- class(d7)
# d7_class = integer
# Floors, not truncates
floored <- -7L %/% 2L
# floored = -4
# No +=: assign the result back
d8 <- 1L
d8 <- d8 + 1L
# d8 = 2
d8 <- d8 - 1L
# d8 = 1
# No ++: this is +(+d8)
plus_plus <- ++d8
# plus_plus = 1
quotient <- 7L %/% 2L
# quotient = 3
remainder <- 7L %% 2L
# remainder = 1
cat("d1 =", d1, "\n")
cat("d2 =", d2, "\n")
cat("d3 =", d3, "\n")
cat("d4 =", d4, "\n")
cat("d4_class =", d4_class, "\n")
cat("d5 =", d5, "\n")
cat("d6 =", d6, "\n")
cat("d7 =", d7, "\n")
cat("d7_class =", d7_class, "\n")
cat("floored =", floored, "\n")
cat("d8 =", d8, "\n")
cat("plus_plus =", plus_plus, "\n")
cat("quotient =", quotient, "\n")
cat("remainder =", remainder, "\n")