Bruce Korb writes: > > Larry Jones wrote: > > > > If you have a pointer to > > char but need to treat the data it points to as unsigned char, you have > > to cast the pointer and dereference it to get the correct value on ones > > complement systems -- dereferencing and then casting doesn't work > > because -0 gets converted to +0. > > OK. In this case, we know we're not playing with NUL bytes 'cuz they > terminate strings. Where are these ones complement machines anyway? > I've not bumped into any for decades. In other words, I'm not sure > I want to care about them anymore. I don't work in a museum. :)
The problem isn't <NUL>, it's <DEL> -- all bits set is -0 on a ones complement machine, which compares equal to zero and thus makes <DEL> turn into <NUL> and terminate the string where you don't want it to. I believe that there are current DSPs that use ones complement. -Larry Jones I don't want to be THIS good! -- Calvin