全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1165
推到 Plurk!
推到 Facebook!

請問進制轉換為什麼要減48 是要變成ASCII 碼嗎

答題得分者是:gmobug
lhc67
一般會員


發表:10
回覆:4
積分:2
註冊:2005-05-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-12 19:54:18 IP:140.115.xxx.xxx 未訂閱
#include  #include #include #include #include #include <math.h> int main() { int i,j,base; //定義i,j,base為int變數 int sl=0; //sl,k為int變數,初值為零 int k=0; int s[10]; char str[]="2"; printf("base="); scanf("%d",&base); //讀取基底變數 for(i=0;str[i]!=0;i ){ if(isdigit(str[i])){ ★s[k] = str[i]-48;★為什麼要減48 是要變成ASCII 碼嗎 printf("%d\n",s[k]); k ; } } k=k-1; for(j=0;j<=k;j ){ // sl=isdigit(str[i])*pow(10,k); sl=sl s[j]*pow(10,k-j); // printf("再對%d做%d進制轉換\n",sl,base); printf("%d\n",sl); } //system("pause"); if (base==8) { int i,y; //定義變數i , y為整數 char j[13]; for(i=1;i<13;i ){ j[i]=sl&7; sl=sl>>3; } for(y=12;y>0;y--){ printf("%d", j[y] ); } printf("\n"); } else if (base==2) { int i,y; char j[13]; for(i=1;i<13;i ){ j[i]=sl&1; sl=sl>>1; } for(y=12;y>0;y--){ printf("%d", j[y] ); } printf("\n"); } else if (base==16) { printf("%x",sl); } printf("\n"); return 0; } 發表人 - lhc67 於 2005/07/12 20:02:36
gmobug
一般會員


發表:10
回覆:28
積分:12
註冊:2004-02-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-12 20:08:35 IP:221.169.xxx.xxx 未訂閱
恩... '0'在ASCII中的值為48(0x30) '1'是49 ... 應該不是說"變成ASCII" 而是從文字變成真正的數量
系統時間:2024-05-18 4:13:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!