Please read blog.golang.org/constants.

-rob


On Tue, Jun 14, 2016 at 10:47 AM, Jan Mercl <0xj...@gmail.com> wrote:

> The untyped integer constant 0xFFFFFFFF represents a positive number not
> representable by any int32 value.
>
>
> On Tue, Jun 14, 2016, 19:45 Dave MacFarlane <driu...@gmail.com> wrote:
>
>> What I'm not understanding is why that's not the case in this example.
>> It's a 32 bit bitwise operation on a 32 bit signed type.  Shouldn't
>> 0xFFFFFFFF be coerced to a value of -1?
>>
>> On Tue, Jun 14, 2016 at 1:23 PM, Jan Mercl <0xj...@gmail.com> wrote:
>>
>>> All binary operators, except shifts, require identical left and right
>>> types. Untyped values will be coerced to the type of the other side, if
>>> representable as such after the conversion. That's not the case in this
>>> example.
>>>
>>> On Tue, Jun 14, 2016, 19:16 Dave MacFarlane <driu...@gmail.com> wrote:
>>>
>>>> Is this supposed to be legal in Go:
>>>>
>>>> var x int32 = 3
>>>>
>>>> fmt.Printf("%d", x & 0xFFFFFFFF)?
>>>>
>>>> The language spec just says the bitwise operator "applies to integers
>>>> only" and
>>>> "yields a result of the same type as the first operand" that I can see,
>>>> but it's giving
>>>> me a compiler error:
>>>>
>>>> ./main.go:10: constant 4294967295 overflows int32
>>>>
>>>> with go 1.6.2.
>>>>
>>>> Is this a compiler bug, or am I missing something else in the spec that
>>>> makes it impossible
>>>> to mask out the high bit in a signed integer type without converting to
>>>> an unsigned equivalent first?
>>>>
>>>> - Dave
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "golang-nuts" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to golang-nuts+unsubscr...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>> --
>>>
>>> -j
>>>
>>
>>
>>
>> --
>> - Dave
>>
> --
>
> -j
>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to