> I'm now having problems doing the conversion the other way though(!). I need to convert three 8bit values (hundreds, tens, units - maximum values for each of these bytes are 3,5,9 respectively.) into a single byte (integer) value in the decimal range 0-114 Your problem statement is inconsitant. If the resulting value is in the range of 0-144, then how can the hundreds value be as high as 3? Maybe I'm missing something here, but this seems like a very simple problem. Isn't the result = HUNDREDS * 100 + TENS * 10 + UNITS? If HUNDREDS is always either 0 or 1, then the first term is either adding 100 or not. The second term is also a bit simplified if TENS is 0 thru 5. The term value can be looked up in a table since there are only 6 possible choices if you don't want to call a multiply routine. ***************************************************************** Embed Inc, embedded system specialists in Littleton Massachusetts (978) 742-9014, http://www.embedinc.com -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body