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.