Privet (i dobroje utro :), > Hi what is the uint_fast8_t ? What is the difference from regular > uint8_t? What gcc version is it supported from?
While uint8_t requests an unsigned integer type that will *exactly* have 8 bits (so it is guaranteed to roll over from 255 to 0), uint_least8_t will request an unsigned integer type that has at least 8 bits (but could have more, e. g. if the machine can only support 32-bit integers at all), and uint_fast8_t requests an unsigned integer type that has the fastest processing for (at least) 8 bits of data. For the AVR, all three are the same. However, most if not all RISC CPUs suffer from additional penalties when handling less than "natural sized" objects, so a 32-bit RISC CPU is usually fastest when dealing with 32-bit integers. In that case, uint_fast8_t will certainly be rather a 32-bit integer type, while uint8_t can still be implemented on that machine (but is less effective). Other machines (like certain DSPs) can *only* handle 32-bit integer data types, and on these machines, requesting an uint8_t will simply cause a compile error. -- cheers, J"org .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/ NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-) _______________________________________________ AVR-GCC-list mailing list AVR-GCC-list@nongnu.org http://lists.nongnu.org/mailman/listinfo/avr-gcc-list