![]() |
|
Inequality (*solved*) - Printable Version +- Boriel Basic Forum (https://forum.boriel.com) +-- Forum: Compilers and Computer Languages (https://forum.boriel.com/forumdisplay.php?fid=12) +--- Forum: ZX Basic Compiler (https://forum.boriel.com/forumdisplay.php?fid=11) +---- Forum: Bug Reports (https://forum.boriel.com/forumdisplay.php?fid=15) +---- Thread: Inequality (*solved*) (/showthread.php?tid=467) |
Inequality (*solved*) - britlion - 2012-06-06 Am I doing something wrong here? I think the order of operations is messing up. This looks very odd. Is BAND a lower priority than = ? Code: dim n as uInteger
cls
for n=0 to 65530
print at 10,10;n;" ";n BAND 7
print at 12,6;"n BAND 7 = 7 is ";
IF n BAND 7 = 7 then
print "TRUE "
else
print "FALSE"
END IF
pause 0
next nI /think/ this is doing boolean logic of ( n BAND ( 7 = 7 ) ) Or, n BAND 1 Which can't be right, surely? Re: Inequality - boriel - 2012-06-06 Could be a bug, yes. Will check it. If bAND has the same priority as AND then it will proceed as you said. bAND should behave like * operator (multiply), I Think Re: Inequality - boriel - 2012-06-11 Hi, Britlion. In effect, the operators priority was not the standard one. I think this one is the expected one. :?: Code: ('left', 'OR'),
('left', 'AND'),
('left', 'XOR'),
('right', 'NOT'),
('left', 'LT', 'GT', 'EQ', 'LE', 'GE', 'NE'),
('left', 'BOR'),
('left', 'BAND', 'BXOR', 'SHR', 'SHL'),
('left', 'BNOT', 'PLUS', 'MINUS'),
('left', 'MOD'),
('left', 'MUL', 'DIV'),
('right', 'UMINUS'),
('right', 'POW')Re: Inequality - boriel - 2012-06-17 Ok. Please download version 1.2.9s882. It addressed many bugs (this being one of them). Please, try it and tell me. :roll: |