Date: Wed, 13 Feb 2008 11:39:38 +0100 (CET) From: Oliver Fromme <olli@lurza.secnetix.de> To: freebsd-chat@FreeBSD.ORG, deeptech71@gmail.com Subject: Re: bits wrap when leftshifting non-constant amounts Message-ID: <200802131039.m1DAdcj0093069@lurza.secnetix.de> In-Reply-To: <47B24480.9020001@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
deeptech71@gmail.com wrote: > My gcc 3.4.6 behaves weirdly when left shifting, and I couldn't > find any info on this. > [...] > It seems that lsh is first moduloed with the width of int. What the hell? C99 standard, section 6.5.7 "Bitwise shift operators", page 84: "If the value of the right operand is negative or is greater than or equal to the width of the promoted left operand, the behaviour is undefined." Best regards Oliver -- Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M. Handelsregister: Registergericht Muenchen, HRA 74606, Geschäftsfuehrung: secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün- chen, HRB 125758, Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart FreeBSD-Dienstleistungen, -Produkte und mehr: http://www.secnetix.de/bsd "C is quirky, flawed, and an enormous success." -- Dennis M. Ritchie.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200802131039.m1DAdcj0093069>