#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