>The correct method of dividing by 255 is this situation is as follows: > > To calculate: x * y /255 > >1. Multiply 8-bit x by 8-bit y to get 16-bit resultant. >2. Add low 8-bits to 16-bit resultant. >3. Round (i.e., increment top 8-bits if msb of low 8-bits is set). >3. Take result as most significant 8-bits. > >You will note this is essentially the same as incrementing the top 8-bits >if the msb of the low 8-bits is set, except for the effect of rounding. ... I believe you mean if the msb of the high 8 bits. This thread seems to be getting unnecessarily complicated, with Michael's comment being missed in the shuffle: If you want to divide by 255, this is the same as multiplying by 1/255. Now 1/255 = 1/256 + 1/65280. Your max value is 65535, ergo Michaels comment that simply dividing by 256 (using the msbyte) would be accurate to 1 bit. If you want better accuracy, you can round the result up by adding one if the original 16 bit value was >32767 (msb is set). Jim Nagy Elm Electronics ICs for Experimenters http://www.elmelectronics.com/