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
Given a spherical surface, write bump-mapping procedure to generate the bumpy surface of an orange
Develop a routine to reflect an object about an arbitrarily selected plane
What is the match merge ? compare data step match merge with proc sql merge - how many types are there ? data step vs proc sql
Write a routine to implement the polymarker function
Cluster head selection in Wireless Sensor Network using C programming language.
Write a program to model an exploding firecracker in the xy plane using a particle system
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 ?
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.
how to test pierrot divisor
how to create a 3x3 two dimensional array that will give you the sums on the left and bottom columns
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
In a gymnastic competition, scoring is based on the average of all scores given by the judges excluding the maximum and minimum scores. Let the user input the number of judges, after that, input the scores from the judges. Output the average score. Note: In case, more than two judges give the same score and it happens that score is the maximum or minimum then just eliminate two scores. For example, if the number of judges is 5 and all of them give 10 points each. Then the maximum and minimum score is 10. So the computation would be 10+10+10, this time. The output should be 10 because 30/3 is 10.
Design an implement of the inputs functions for event mode
write a program for area of circumference of shapes
How do you verify if the two sentences/phrases input is an anagram using predefined functions in string.h and by using arrays?