I would like to run through the entire range of unsigned char
in a for
loop. Say I want to print all numbers from 0 to 255, how should I go about accom
Try,
unsigned char i = 0 ;
do {
cout << i << endl ;
}
while ( ++i ) ;
The benefit of do .. while
over the other forms is you get one free run before the condition is tested. This is an important tool for that reason (if only infrequently used), in a programmer's toolbox.
Using boost::irange could be considered elegant (live example):
#include <boost/range/irange.hpp>
#include <iostream>
int main()
{
for(auto i : boost::irange(0, 256) )
std::cout << i << "\n";
return 0;
}
You can break it up:
for (unsigned char i = 0; i < 16; ++i)
{
unsigned char base=i*16;
for (unsigned char j = 0; j < 16; ++j)
{
unsigned char val=base+j;
std::cout << val << std::endl;
}
}