#include <stdio.h>
#include <math.h>
int main() {
int dec;
while(scanf("%d", &dec)!=EOF) {
int bin[32]={}, i=0, j=0; /*!整數型態的變數可儲存的最大值為2的31次方,
因此如果要將之轉為二進位制,用來儲存的陣列大小至少要有32個元素*/
for(int deg=31;deg>=0;deg--) { /*從2的31次方開始檢查,次方逐次遞減。
若該數比2的31次方還大,就將該位數註記為1,並將其值減去2的31次方。*/
if(dec>=pow(2, deg)) {
bin[i]=1;
dec-=pow(2, deg);
j++;
}
else
bin[i]=0;
if(bin[i]!=0 || j!=0) /*該位數為0的可能有兩種。
若前面沒有輸出過非0數字,則為前綴零,不輸出。
否則為非前綴零,需輸出*/
printf("%d", bin[i]);
i++;
}
printf("\n");
}
return 0;
}
#include
#include
int main() {
int dec;
while(scanf("%d", &dec)!=EOF) {
int bin[32]={}, i=0, j=0; /*!整數型態的變數可儲存的最大值為2的31次方,
因此如果要將之轉為二進位制,用來儲存的陣列大小至少要有32個元素*/
for(int deg=31;deg>=0;deg--) { /*從2的31次方開始檢查,次方逐次遞減。
若該數比2的31次方還大,就將該位數註記為1,並將其值減去2的31次方。*/
if(dec>=pow(2, deg)) {
bin[i]=1;
dec-=pow(2, deg);
j++;
}
else
bin[i]=0;
if(bin[i]!=0 || j!=0) /*該位數為0的可能有兩種。
若前面沒有輸出過非0數字,則為前綴零,不輸出。
否則為非前綴零,需輸出*/
printf("%d", bin[i]);
i++;
}
printf("\n");
}
return 0;
}
當你上課上了三十分鐘,你會發現過了三十分鐘
#include #include int main() { int dec; while(scanf("%d", &dec)!=EOF) { int bin[32]={}, i=0, j=0; /*!整數型態的變數可儲存的最大值為2的31次方, 因此如果要將之轉為二進位制,用來儲存的陣列大小至少要有32個元素*/ for(int deg=31;deg>=0;deg--) { /*從2的31次方開始檢查,次方逐次遞減。 若該數比2的31次方還大,就將該位數註記為1,並將其值減去2的31次方。*/ if(dec>=pow(2, deg)) { bin[i]=1; dec-=pow(2, deg); j++; } else bin[i]=0; if(bin[i]!=0 || j!=0) /*該位數為0的可能有兩種。 若前面沒有輸出過非0數字,則為前綴零,不輸出。 否則為非前綴零,需輸出*/ printf("%d", bin[i]); i++; } printf("\n"); } return 0; }當你上課上了三十分鐘,你會發現過了三十分鐘
efefef
#include #include int main() { int dec; while(scanf("%d", &dec)!=EOF) { int bin[32]={}, i=0, j=0; /*!整數型態的變數可儲存的最大值為2的31次方, 因此如果要將之轉為二進位制,用來儲存的陣列大小至少要有32個元素*/ for(int deg=31;deg>=0;deg--) { /*從2的31次方開始檢查,次方逐次遞減。 若該數比2的31次方還大,就將該位數註記為1,並將其值減去2的31次方。*/ if(dec>=pow(2, deg)) { bin[i]=1; dec-=pow(2, deg); j++; } else bin[i]=0; if(bin[i]!=0 || j!=0) /*該位數為0的可能有兩種。 若前面沒有輸出過非0數字,則為前綴零,不輸出。 否則為非前綴零,需輸出*/ printf("%d", bin[i]); i++; } printf("\n"); } return 0; }當你上課上了三十分鐘,你會發現過了三十分鐘
efefef
#include #include int main() { int dec; while(scanf("%d", &dec)!=EOF) { int bin[32]={}, i=0, j=0; /*!整數型態的變數可儲存的最大值為2的31次方, 因此如果要將之轉為二進位制,用來儲存的陣列大小至少要有32個元素*/ for(int deg=31;deg>=0;deg--) { /*從2的31次方開始檢查,次方逐次遞減。 若該數比2的31次方還大,就將該位數註記為1,並將其值減去2的31次方。*/ if(dec>=pow(2, deg)) { bin[i]=1; dec-=pow(2, deg); j++; } else bin[i]=0; if(bin[i]!=0 || j!=0) /*該位數為0的可能有兩種。 若前面沒有輸出過非0數字,則為前綴零,不輸出。 否則為非前綴零,需輸出*/ printf("%d", bin[i]); i++; } printf("\n"); } return 0; }當你上課上了三十分鐘,你會發現過了三十分鐘
efefef
6