Give a very good method to count the number of ones in a 32
bit number.
(caution: looping through testing each bit is not a solution)

Answer Posted / turk

Here is an O(logn) solution

#include<stdio.h>

int numberOfOnesByte(unsigned char c, int length){
if (c==0)
return 0;
if (c==1)
return 1;
unsigned char left, right;
int lengthP = length/2;
left = c>>lengthP;
right = c-(left<<lengthP);
return numberOfOnesByte(left,length-lengthP)+numberOfOnesByte(right,lengthP);
}
int numberOfOnes(unsigned char *array, int start, int end, int length){
if(length==1){
return numberOfOnesByte(array[start],8);
} else {
int lengthP = length/2;
return numberOfOnes(array,start,start+lengthP-1,lengthP)+
numberOfOnes(array,start+lengthP,end,length-lengthP);
}
}
int main(){
unsigned char array[8] = {0xFF,0XAA,0xFF,0XAA,0xFF,0XAA,0xFF,0XAA};
printf("number of bits %d\n",numberOfOnes(array,0,7,8));
return 0;
}

Is This Answer Correct ?    3 Yes 5 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

why nlogn is the lower limit of any sort algorithm?

2368


To Write a C program to remove the repeated characters in the entered expression or in entered characters(i.e) removing duplicates. String contains only lowercase characters ['a'-'z']

488


create a C-code that will display the total fare of a passenger of a taxi if the driver press enter,the timer will stop. Every 10 counts is 2 pesos. Initial value is 25.00

6303


Cluster head selection in Wireless Sensor Network using C programming language.

3099


Design an implement of the inputs functions for event mode

2955






How to palindrom string in c language?

8797


why do you use macros? Explain a situation where you had to incorporate macros in your proc report? use a simple instream data example with code ?

2253


What is the difference between proc means and proc tabulate ? explain with a simple example when you have to use means or tabulate?

3701


Set up procedure for generating a wire frame display of a polyhedron with the hidden edges of the object drawn with dashed lines

3022


write a function to give demostrate the functionality of 3d in 1d. function prototye: change(int value,int indexX,int indexY,int indexZ, int [] 1dArray); value=what is the date; indexX=x-asix indexY=y-axis indexZ=z-axis and 1dArray=in which and where the value is stored??

4132


Write a Program in 'C' To Insert a Unique Number Only. (Hint: Just Like a Primary Key Numbers In Database.) Please Some One Suggest Me a Better Solution for This question ??

1767


how to programme using switch statements and fuctions, a programme that will output two even numbers, two odd numbers and two prime numbers of the users chioce.

2134


Sir... please give some important coding questions asked by product companies..

1793


How do you verify if the two sentences/phrases input is an anagram using predefined functions in string.h and by using arrays?

2011


A program that will create a movie seat reservation. The program will display the summary seats and its status. The user will be ask what seat no. to be reserved, then it will go back again to the summary to display the updated seat status. If the seat no. is already reserved then it will prompt an error message. And also if the input seat no is out of range then it will also prompt an error message. The program is continuously running. Termination of the program will depends on how the programmer will apply. Sample output: Movie Seats Reservation Summary of Seats: Seat 1: Available Seat 2: Available Seat 3: Available Seat 4: Available Seat 5: Available Enter seat no. (Press 0 to terminate Or the assigned seat capacity) : 1 Movie Seats Reservation Summary of Seats: Seat 1: Reserve Seat 2: Available Seat 3: Available Seat 4: Available Seat 5: Available Enter seat no. (Press 0 to terminate Or the assigned seat capacity) : 6 The Seat no. is out of range! Movie Seats Reservation Summary of Seats: Seat 1: Reserve Seat 2: Available Seat 3: Available Seat 4: Available Seat 5: Available Enter seat no. (Press 0 to terminate Or the assigned seat capacity) : 1 The Seat no. is already reserved! Movie Seats Reservation Summary of Seats: Seat 1: Reserve Seat 2: Available Seat 3: Available Seat 4: Available Seat 5: Available Enter seat no. (Press 0 to terminate Or the assigned seat capacity) : 0 GoodBye... Thank You!!!

1833