2017-08-06 11 views
0
//program to give binary equivalent of a decimal number without using recurssion 
#include<stdio.h> 
#include<math.h> 
int main(void) 
{ 
    int i=0,num,bin=0; 
    printf("enter number : "); 
    scanf("%d",&num); 
    while(num>0) 
    { 
     bin+=((float)(num%2))*pow(10.0,(float)i++); 
     num/=2; 
    } 
    printf("Binary equivalent is : %d",bin); 
    getchar(); 
    return 0; 
} 

此代碼這麼想的提供像7輸入所需的輸出,但是對於一些numbers.Can請您協助提供所需的輸出我出去找錯誤。我已經寫了代碼爲十進制數轉換到不給所需的輸出二進制數

+0

原因是你 –

+0

你得到7的輸出是什麼? – Marian

+0

7的二進制等效值爲111,但代碼爲110 – aj14

回答

-1
 #include<stdio.h> 
    void main() 
     { 
     int a; 
     scanf("%d",&a); 
     while(a>0) 
     { 
     printf("%d",a%2); 
     a=a/2; 
     } 
     } 
+0

我認爲OP也希望將二進制表示存儲在某處(以便能夠稍後使用on) – babon

+0

while'(a> = 0)'永遠不會結束 –

+0

我甚至想用二進制數來表示其他東西,所以只是打印它不會幫助達到目的,而且如果你能幫助找到錯誤 – aj14