Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #14027

Re: Shifting bits

From Ian Collins <ian-news@hotmail.com>
Newsgroups comp.lang.c
Subject Re: Shifting bits
Date 2011-11-29 18:20 +1300
Message-ID <9jj8coF4d0U31@mid.individual.net> (permalink)
References <4ed46774$0$295$14726298@news.sunsite.dk>

Show all headers | View raw


On 11/29/11 06:02 PM, arnuld wrote:
> Here is another C interview question, what this C program does. I see it
> compiles fine in strict ANSI standard. H&S5 section 2.7.5 says x is an
> escape character for hexadecimal notation.

The term is "format specifier", not escape character.  An escape 
character is something completely different.

> Section 7.6.3 says<<  is
> shift-op which shifts  bits to left. Type of result after shift-op
> returns is the converted left operand and result is not an lvalue.
>
> I never really understood how shifting bits works. I mean, how will I
> know -1 will return -16 after shifting 4 bits (if you replace %x with
> with %d, you get -16). Is it possible to know in advance e.g what
> shifting 8 bits to left on 100 will result.

You won't.  I believe sifting a signed integer and this the code is 
undefined.

> What practical use is made of shifting bits ?

It's very common when you want to extract bits form a longer type, or 
assign a value to high order bits.  It used to be used in place of 
multiplication or division by a power of two (shift instructions were 
typically faster).

-- 
Ian Collins

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Shifting bits arnuld <sunrise@invalid.address> - 2011-11-29 05:02 +0000
  Re: Shifting bits Ian Collins <ian-news@hotmail.com> - 2011-11-29 18:20 +1300
    Re: Shifting bits Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-11-29 17:39 +0000
      Re: Shifting bits arnuld <sunrise@invalid.address> - 2011-11-30 05:53 +0000
        Re: Shifting bits James Kuyper <jameskuyper@verizon.net> - 2011-11-30 06:57 -0500
        Re: Shifting bits Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2011-11-30 18:31 +0200
          Re: Shifting bits Ralf Damaschke <rwspam@gmx.de> - 2011-12-01 14:41 +0000
            Re: Shifting bits lawrence.jones@siemens.com - 2011-12-01 13:58 -0500
        Re: Shifting bits Stanley Rice <heconghui@gmail.com> - 2011-11-30 18:11 -0800
          Re: Shifting bits Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-12-01 02:21 -0800
  Re: Shifting bits Malcolm McLean <malcolm.mclean5@btinternet.com> - 2011-11-29 03:03 -0800
  Re: Shifting bits "BartC" <bc@freeuk.com> - 2011-11-29 12:04 +0000
    Re: Shifting bits 88888 Dihedral <dihedral88888@googlemail.com> - 2011-11-29 05:44 -0800
    Re: Shifting bits arnuld <sunrise@invalid.address> - 2011-11-30 05:58 +0000
  Re: Shifting bits gwowen <gwowen@gmail.com> - 2011-11-29 08:21 -0800
  Re: Shifting bits DDD <1983ddd@gmail.com> - 2011-11-29 20:42 -0800
    Re: Shifting bits James Kuyper <jameskuyper@verizon.net> - 2011-11-30 00:11 -0500
      Re: Shifting bits Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2011-11-30 18:23 +0200
        Re: Shifting bits Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-12-01 02:23 -0800
  Re: Shifting bits 88888 Dihedral <dihedral88888@googlemail.com> - 2011-11-30 05:35 -0800
    Re: Shifting bits Seebs <usenet-nospam@seebs.net> - 2011-11-30 18:43 +0000
      Re: Shifting bits 88888 Dihedral <dihedral88888@googlemail.com> - 2011-11-30 13:33 -0800
        Re: Shifting bits Seebs <usenet-nospam@seebs.net> - 2011-11-30 21:41 +0000
          Re: Shifting bits 88888 Dihedral <dihedral88888@googlemail.com> - 2011-11-30 14:40 -0800
            Re: Shifting bits Seebs <usenet-nospam@seebs.net> - 2011-11-30 22:36 +0000
              Re: Shifting bits Lauri Alanko <la@iki.fi> - 2011-12-01 02:02 +0000
                Re: Shifting bits Lowell Gilbert <lgusenet@be-well.ilk.org> - 2011-12-01 09:30 -0500
              Re: Shifting bits Kaz Kylheku <kaz@kylheku.com> - 2011-12-01 02:50 +0000
                Re: Shifting bits Lowell Gilbert <lgusenet@be-well.ilk.org> - 2011-12-01 09:00 -0500
      Re: Shifting bits Robert Wessel <robertwessel2@yahoo.com> - 2011-11-30 17:09 -0600
    Re: Shifting bits Stanley Rice <heconghui@gmail.com> - 2011-11-30 18:13 -0800
      Re: Shifting bits Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2011-11-30 19:44 -0700
      Re: Shifting bits Keith Thompson <kst-u@mib.org> - 2011-11-30 19:20 -0800
      Re: Shifting bits Seebs <usenet-nospam@seebs.net> - 2011-12-01 20:08 +0000
      Re: Shifting bits Kaz Kylheku <kaz@kylheku.com> - 2011-12-01 21:34 +0000
  Re: Shifting bits gordonb.slo24@burditt.org (Gordon Burditt) - 2011-12-01 01:24 -0600

csiph-web