On Thu, May 12, 2005 at 10:40:34 -0500, Celia McInnis <[EMAIL PROTECTED]> wrote: > Thanks very much Bruce and Tom for your responses and explanations. The > current mode of operation is mathematically disturbing so I'm hoping that you > can figure out some sort of a fix! Perhaps this example is a little more > convincing than my last one at showing the bug/feature: > > 949 base 10 = 1110110101 base two. > > select 949::bit(10) gives 1110110101 (as expected).
Why is that expected? Based on your reasoning for the last case I would expect '0000000000', since the first 10 bits of that integer are 0. > select 949::bit(10)::bit(3) gives 111 (the 3 most significant bits) > select 949::bit(3) gives 101 (the 3 least significant bits). > > As a mathematician, I'd certainly at least want the last two selects to give > the same results! ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend