Yes, this small sequence shows very good what's basically the difference between positive and negative numbers in binary integer logic.
It's the binary complement, also known as - NOT -
NOT 0 = -1 (&B00000000 (&H00) --> &B11111111 (&HFF))
NOT 1 = -2 (&B00000001 (&H01) --> &B11111110 (&HFE))
NOT 2 = -3 (&B00000010 (&H02) --> &B11111101 (&HFD))
NOT 3 = -4 (&B00000011 (&H03) --> &B11111100 (&HFC))
.
.
.
NOT n = -(n+1)
And the gap of (1) between pos./neg. is because in negative numbers one bit is "stolen" from our max. type range to hold the sign and it's the reason why all programming languages have a extra function to negate a value whithout causing the gap. In most high level languages, such as QB64, this function is a simple preceeding minus (-), in other languages, assembler for instance, we have a extra NEG instruction for that purpose.
What many beginners often misinterpret/misunderstand is, that NEG and NOT are two complete different operations, although they have a very similar effect internally.