#40536: 詳解cpp


yp11251273@yphs.tp.edu.tw (704-31張鈞勉)

學校 : 臺北市私立延平高級中學
編號 : 239174
來源 : [203.72.178.1]
最後登入時間 :
2024-06-18 17:44:30
a034. 二進位制轉換 | From: [203.72.178.1] | 發表日期 : 2024-05-28 17:16

#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;
}
 
#40539: Re: 詳解cpp


yp11251121@yphs.tp.edu.tw (704-32畢家彬)

學校 : 臺北市私立延平高級中學
編號 : 237254
來源 : [203.72.178.1]
最後登入時間 :
2024-09-25 08:26:01
a034. 二進位制轉換 | From: [203.72.178.1] | 發表日期 : 2024-05-28 17:30

#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;
}

當你上課上了三十分鐘,你會發現過了三十分鐘

 
#40540: Re: 詳解cpp


yp11251121@yphs.tp.edu.tw (704-32畢家彬)

學校 : 臺北市私立延平高級中學
編號 : 237254
來源 : [203.72.178.1]
最後登入時間 :
2024-09-25 08:26:01
a034. 二進位制轉換 | From: [203.72.178.1] | 發表日期 : 2024-05-28 17:31

#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

 
#40541: Re: 詳解cpp


yp11251121@yphs.tp.edu.tw (704-32畢家彬)

學校 : 臺北市私立延平高級中學
編號 : 237254
來源 : [203.72.178.1]
最後登入時間 :
2024-09-25 08:26:01
a034. 二進位制轉換 | From: [203.72.178.1] | 發表日期 : 2024-05-28 17:31

#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

 
#40542: Re: 詳解cpp


yp11251273@yphs.tp.edu.tw (704-31張鈞勉)

學校 : 臺北市私立延平高級中學
編號 : 239174
來源 : [203.72.178.1]
最後登入時間 :
2024-06-18 17:44:30
a034. 二進位制轉換 | From: [203.72.178.1] | 發表日期 : 2024-05-28 17:33

#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

 
ZeroJudge Forum