说起这个来要扯出来的东西就比较多了。uchar是一个8位无符号数,表示范围0到255,而uint是十六位无符号数,表示范围0到65535.但是要注意的是8位单片机当中字宽仅有8位,如果用keil编译器的话,假如采用uchar类型数据,它会给你分配一个寄存器(8位);但是如果采用uint的话,必须要两个寄存器才能完全表达数据的大小。单片机从寄存器取操作数,你说哪个更快一些?当然十六位的数是如何进行操作数寻址如果用C的话其实关心必要性不大~OK?