Give a one-line C expression to test whether a number is a
power of 2.
Answers were Sorted based on User's Feedback
Answer / lakshmi
void main()
{
int a;
scanf("%d",&a);
if((a&a-1)==0)
printf("Is a power of 2");
else
printf("Not a power of 2");
}
| Is This Answer Correct ? | 36 Yes | 8 No |
Answer / fallen angel
if(x&(x-1)==0)
then TRUE;
else
FALSE;
use the bitwise and operator
| Is This Answer Correct ? | 24 Yes | 2 No |
Answer / mayur shankariya
#include<stdio.h>
main()
{
int num;
printf("Enter Number
");
scanf("%d",&num);
(num & num - 1)? printf("Not
"):printf("Power of two
");
}
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / rarach
if( (a == 2 ) || ((a/2) %2 == 0 ) && a !=1)
TRUE
else
false
| Is This Answer Correct ? | 1 Yes | 3 No |
Answer / rohit
if((log(n)/log(2))/floor(log(n)/log(2))==1)
then TRUE;
else FALSE;
| Is This Answer Correct ? | 1 Yes | 5 No |
Answer / ramesh b penchal
#include<stdio.h>
main()
{
int n,i,d,m;
printf("Enter a number");
scanf("%d",&n);
m=n;
while(n>0)
{
d=n%10;
if(d!=0)
{
prntf("%d is not power of 2",m);
getch();
exit();
}
n=n/10;
}
prntf("%d is power of 2",m);
getch();
}
| Is This Answer Correct ? | 0 Yes | 5 No |
Answer / santhoo035
#include<iostream.h>
int main()
{
int n,i;
cout<<"Enter a number";
cin>>n;
for(i=1;i<n/2;i++)
{
if((2<<i)==n)
{
cout<<"The given no is power of 2";
break;
}
}
}
| Is This Answer Correct ? | 3 Yes | 9 No |
Answer / akshay rastogi
#include<conio.h>
void main()
{
int n,i=0,num=0;
printf("\n enter any number");
scanf("%d",&n);
while(num<=n)
{
i++;
num=2^i;
}
if(num==n)
printf("yes no. is power of 2");
else
printf("no.");
}
| Is This Answer Correct ? | 0 Yes | 6 No |
Answer / abc def
/*following expr evaluates to true if num is a power of
2.Else it's false. '&' - bitwise and.*/
(num == 1) || !(num & 1)
| Is This Answer Correct ? | 0 Yes | 9 No |
Answer / trailokya ranjan jena
#include<stdio.h>
void main()
{
int i,j;
clrscr();
printf("\n Enter a num");
scanf("%d",&i);
j=i;
for(;i%2==0;i/=2);
if(i==1)
printf("\n%d is power of 2",j);
else
printf("\n%d is not a power of 2");
getch();
}
| Is This Answer Correct ? | 4 Yes | 18 No |
union u { struct st { int i : 4; int j : 4; int k : 4; int l; }st; int i; }u; main() { u.i = 100; printf("%d, %d, %d",u.i, u.st.i, u.st.l); } a. 4, 4, 0 b. 0, 0, 0 c. 100, 4, 0 d. 40, 4, 0
void main() { int i; char a[]="\0"; if(printf("%s\n",a)) printf("Ok here \n"); else printf("Forget it\n"); }
In the following pgm add a stmt in the function fun such that the address of 'a' gets stored in 'j'. main(){ int * j; void fun(int **); fun(&j); } void fun(int **k) { int a =0; /* add a stmt here*/ }
#include<stdio.h> main() { int i=1,j=2; switch(i) { case 1: printf("GOOD"); break; case j: printf("BAD"); break; } }
What is "far" and "near" pointers in "c"...?
main() { int c[ ]={2.8,3.4,4,6.7,5}; int j,*p=c,*q=c; for(j=0;j<5;j++) { printf(" %d ",*c); ++q; } for(j=0;j<5;j++){ printf(" %d ",*p); ++p; } }
#define FALSE -1 #define TRUE 1 #define NULL 0 main() { if(NULL) puts("NULL"); else if(FALSE) puts("TRUE"); else puts("FALSE"); }
main() { int k=1; printf("%d==1 is ""%s",k,k==1?"TRUE":"FALSE"); }
How will you print % character? a. printf(“\%”) b. printf(“\\%”) c. printf(“%%”) d. printf(“\%%”)
Who could write how to find a prime number in dynamic array?
Under linux environment can u please provide a c code for computing sum of series 1-2+3-4+5......n terms and -1+2-3+4-5...n terms..
main() { int (*functable[2])(char *format, ...) ={printf, scanf}; int i = 100; (*functable[0])("%d", i); (*functable[1])("%d", i); (*functable[1])("%d", i); (*functable[0])("%d", &i); } a. 100, Runtime error. b. 100, Random number, Random number, Random number. c. Compile error d. 100, Random number