bits wrap when leftshifting non-constant amounts
Oliver Fromme
olli at lurza.secnetix.de
Wed Feb 13 02:39:45 PST 2008
deeptech71 at 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.
More information about the freebsd-chat
mailing list