infuzion ·
Not sure if you Not an Int 0 it should equal -1? I guess SM is inverting the negative flag, but is that correct math-wize?
From the original SynthMaker forum (2004–2014), with its members’ names and dates.
infuzion ·
Not sure if you Not an Int 0 it should equal -1? I guess SM is inverting the negative flag, but is that correct math-wize?
lesobrod ·
Oh I like play with math/logic using different soft-&hard- ware, even old calculator. Thanx for interesting topic 😀 It seems that in SM: INT_NOT(j) = - (j+1) (as Integer) and INT_NOT(j) = TRUE, j>=0; FALSE, j<0 (as Boolean) and BOOL_NOT(j) = 0, j is any string without any digit 1..9; 1, there is any digit in j.
It is probably not bug; even such math monsters like Wolfram or Mapple put out strange and weird results sometimes, that not errors, but like nonsense. Some good programmers can turn it to own account.
P.S. Very interesting test is "0^0". Wolfram: 0^0 == Indeterminate, but Limit[x^0, x -> 0] == 1 Mapple(old version): 0^0 == 0 Calculator: 0^0 -> Error SM: FloatPower(0,0) == 1 😉
trogluddite ·
Yes, it is correct - it isn't inverting just the sign bit, it's inverting all of the bits.
Binary integers use two's complement to represent negative numbers. A negative number is represented by inverting the bits (of the positive magnitude), and then adding one. Because the 'integer not' is only inverting the bits (but not adding one), it will effectively invert the sign and subtract one, hence int_not(0)=-1.
Wrote something here? To have a post removed or your name hidden, write to [email protected].