/* > ~(~(unsigned)0>>1) is not portable either i believe. That's why I posted my run-time example. The original query gave the above expression as a compile-time solution. Hopefully it WILL be the portable post-standard solution. As I said, it doesn't work on V6. Can we please end this discussion? jim cottrell at nbs */