Home     |     .Net Programming    |     cSharp Home    |     Sql Server Home    |     Javascript / Client Side Development     |     Ajax Programming

Ruby on Rails Development     |     Perl Programming     |     C Programming Language     |     C++ Programming     |     IT Jobs

Python Programming Language     |     Laptop Suggestions?    |     TCL Scripting     |     Fortran Programming     |     Scheme Programming Language


 
 
Cervo Technologies
The Right Source to Outsource

MS Dynamics CRM 3.0

C Programming Language

counting of bits


Given two integers A & B. Determine how many bits required to convert
   A to B.how to write a function int BitSwapReqd(int A, int B);

<rajm2@gmail.com> wrote:
> Given two integers A & B. Determine how many bits required to convert
>   A to B.how to write a function int BitSwapReqd(int A, int B);

The exclusive or operator may help you.
In article <5bqulcF2uava@mid.individual.net>,

 "osmium" <r124c4u@comcast.net> wrote:
> <rajm2@gmail.com> wrote:

> > Given two integers A & B. Determine how many bits required to convert
> >   A to B.how to write a function int BitSwapReqd(int A, int B);

> The exclusive or operator may help you.

Why do I get the feeling someone has a homework assignment, and hasn't
been paying attention in class?

(CF his other post - "function to divide by three")

--
Don Bruder - dak@sonic.net - If your "From:" address isn't on my whitelist,
or the subject of the message doesn't contain the exact text "PopperAndShadow"
somewhere, any message sent to this address will go in the garbage without my
ever knowing it arrived. Sorry... <http://www.sonic.net/~dakidd> for more info

On May 26, 8:54 pm, Don Bruder <dak@sonic.net> wrote:

how to do this pls help me

Sounds like your instructor would like you to write a C program. Better
get going.

Brian

In article <1180196162.701143.149@j4g2000prf.googlegroups.com>,

Sure... I can do your homework for you - I charge US$500.00 per half
hour, with a two hour minimum, and expect payment in advance.

Alternatively, you could pay attention in class.

(Hint: If you'd been paying attention, rather than screwing off, you'd
be able to whip out any of these assignments in about 15 minutes, tops.
These are all trivial stuff that anyone can deal with easily - IF they
pay attention in class instead of screwing around.)

--
Don Bruder - dak@sonic.net - If your "From:" address isn't on my whitelist,
or the subject of the message doesn't contain the exact text "PopperAndShadow"
somewhere, any message sent to this address will go in the garbage without my
ever knowing it arrived. Sorry... <http://www.sonic.net/~dakidd> for more info

In article <1180189374.442897.208@o11g2000prd.googlegroups.com>,

 <rajm2@gmail.com> wrote:
>Given two integers A & B. Determine how many bits required to convert
>   A to B.

integers just -are-, independant of representation. Bits are
a particular representation, and there are an infinite number
of bit representations of any given integer.

>how to write a function int BitSwapReqd(int A, int B);

Note that an 'int' is not an integer: int is only an implementation-
defined subset of integers.

Is there supposed to be a connection between the 'Swap' in the
function name and the earlier requirement about "convert A to B" ?
Swapping implies the exchange of two values, while "convert"
only implies the transformation of one value; the two verbs could
come out with very different results.
--
  Is there any thing whereof it may be said, See, this is new? It hath
  been already of old time, which was before us.       -- Ecclesiastes

rajm2@gmail.com wrote:

> Given two integers A & B. Determine how many bits required to convert
>    A to B.how to write a function int BitSwapReqd(int A, int B);

   A = B;

--
 <http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.txt>
 <http://www.securityfocus.com/columnists/423>
 <http://www.aaxnet.com/editor/edit043.html>
 <http://kadaitcha.cx/vista/dogsbreakfast/index.html>
                        cbfalconer at maineline dot net

--
Posted via a free Usenet account from http://www.teranews.com

rajm2@gmail.com wrote:
> Given two integers A & B. Determine how many bits required to convert
>    A to B.

The number of bits required depends on the definition of conversion in
this instance.  What definition are you using?

--
Thad

On May 27, 2:24 pm, Thad Smith <ThadSm@acm.org> wrote:

> rajm2@gmail.com wrote:
> > Given two integers A & B. Determine how many bits required to convert
> >    A to B.

> The number of bits required depends on the definition of conversion in
> this instance.  What definition are you using?

Guess the homework must have been due by now :)

I think it's pretty clear the OP wants to find the "hamming distance"
between the base 2 expression of two integers... I'd do that like
this:

unsigned int hd(unsigned int a, unsigned int b)
{
  unsigned int c=a^b, d=0;
  while(c) {
    d+=(c & 1);
    c>>=1;
  }
  return d;

}

For signed integers, you'd need to worry about how the integer is
being represented - 1s/2s complement etc.

On May 27, 4:56 pm, Francine.Ne@googlemail.com wrote:

> I think it's pretty clear the OP wants to find the "hamming distance"
> between the base 2 expression of two integers... I'd do that like
> this:

> unsigned int hd(unsigned int a, unsigned int b)
> {
>   unsigned int c=a^b, d=0;
>   while(c) {
>     d+=(c & 1);
>     c>>=1;
>   }
>   return d;

> }

With slight stylistic improvements (unnecessary auto variable and
superfluous parentheses removed):

unsigned int hd(unsigned int a, unsigned int b)
{
  unsigned int d=0;
  a^=b;
  while(a) {
    d+=a & 1;
    a>>=1;
  }
  return d;

Francine.Ne@googlemail.com wrote:
>   while(a) {
>     d+=a & 1;
>     a>>=1;
>   }

I write that, this way:

    while (a != 0) {
        ++d;
        a &= a - 1;
    }

--
pete

Additional fooling, to further reduce storage and increase? speed:

#define hd(a, b) hf((a) ^ (b))

unsigned int hf(unsigned int x) {
   unsigned int n = 0;

   if (x) {
      n++;
      while (x &= x-1) n++;
   }
   return n;

} /* untested */

--
 <http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.txt>
 <http://www.securityfocus.com/columnists/423>
 <http://www.aaxnet.com/editor/edit043.html>
 <http://kadaitcha.cx/vista/dogsbreakfast/index.html>
                        cbfalconer at maineline dot net

--
Posted via a free Usenet account from http://www.teranews.com

Add to del.icio.us | Digg this | Stumble it | Powered by Megasolutions Inc