Mail Archives: geda-user/2014/03/29/17:41:33
On 03/29/2014 04:48 PM, al davis wrote:
> On Saturday 29 March 2014, Stephen R. Besch wrote:
>> On 03/29/2014 04:03 PM, al davis wrote:
>>> On Saturday 29 March 2014, Stephen R. Besch wrote:
>>>> realizing that I had forgotten
>>>> about the sign bit it became clear that you cannot just
>>>> toss the high bits - you need to toss the low bits
>>>> (essentially an integer divide by 16).
>>> Usually if numbers are small enough, you can toss the high
>>> bits.
>>>
>>> "Usually" means the usual two's complement representation.
>> True enough as long as they are all positive. With signed
>> data, you really have no choice but division of some kind
> True even with negative numbers, assuming the usual "two's
> complement" representation. Even with other representations the
> conversion is usually simple.
>
> If the number is "small enough" and positive, the high bits are
> all zero. If negative, the high bits are all 1, and after
> tossing the high bits are still all 1.
>
>
How sloppy of me not to have noticed this! But nevertheless, simple
truncation of the high bits is still data dependent, whereas rescaling
by floating point division is not. Still, I agree with you completely in
the case where the high 4 bits are all either 0 or 1.
--
fictio cedit veritati
- Raw text -