What is the difference between " while 1" and "while true", Should I use one over the other?

24 views (last 30 days)
I'd like to know the difference between while 1 and while true and in which cases I should use one over the other. Thank you

Accepted Answer

James Tursa
James Tursa on 26 Jul 2022
Edited: James Tursa on 26 Jul 2022
1 is a double class scalar and true is a logical class scalar, so the check for "non-zero" is slightly different for each even though they both accomplish the same thing. For all we know the parser might even optimize this away into a simple GOTO at the end of the loop. But since you are using the value in a logical context, using true probably makes more sense. I suppose checking a 1-byte integer value in the background (logical) might be ever so slightly faster than checking an 8-byte floating point value in the background (double) also, although for an interpreted language like MATLAB I doubt you could tell the difference in timing.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!