1、進制16轉10再轉2進制
程式例題~G:\我的雲端硬碟\c語言練習題\進制轉換\4進制16轉10再轉2.cpp
//16轉10再轉2進制
#include<stdio.h>
#include<string.h>
int main(){
int i=0,de=0,ans[50],power=1;
char s[50];
printf("輸入16進制=");
scanf("%s",s);
int lens=strlen(s);
printf("16進制");
for( i=0;i<lens;i++){
if (s[i]>=48 && s[i]<=58){
ans[i]=s[i]-48;//printf("%d%d=",ans[i],s[i]);
}
if (s[i]==65 || s[i]==97){
ans[i]=10;
}
if (s[i]==66 || s[i]==98){
ans[i]=11;
}
if (s[i]==67 || s[i]==99){
ans[i]=12;
}
if (s[i]==68 || s[i]==100){
ans[i]=13;
}
if (s[i]==69|| s[i]==101){
ans[i]=14;
}
if (s[i]==70 || s[i]==102){
ans[i]=15;
}
printf("%c",s[i]);
}
printf("=");
for (i=lens-1;i>=0;i--){
de=de+ans[i]*power; //printf("de=%d,ans[%d]=%d,power=%d\n",de,i,ans[i],power);
power=power*16;
}
printf("10進制%d=",de);
int remainder=0,dividend=de,num=0;
power=1;
while (dividend!=0){
remainder=dividend%2;
num=num+remainder*power;
power=power*10;
dividend=dividend/2;
}
printf("=2進制%d",num);
}
測試結果~
輸入16進制=2A
16進制2A=10進制42==2進制101010
輸入16進制=18
16進制18=10進制24==2進制11000
訂閱:
張貼留言 (Atom)
Chrome教學5-建立桌面捷徑1110217
建立桌面捷徑
-
教室佈置 1、創意相框 https://flipedu.parenting.com.tw/article/5229 2、教室佈置水族箱 https://flipedu.parenting.com.tw/article/6093?utm_source=Flipedu.Line&am...
-
1、指標宣告,是存變數的記憶體位置的變數 https://programming.im.ncnu.edu.tw/Chapter9.htm int b ; //跟記憶體要一塊區域稱為b,這塊區域專門放int型變數值 b = 2 ; //把2這個值...
-
「 Google 雲端硬碟檔案串流」消失~解決之道 http://clongwh.blogspot.com/2018/08/GoogleDriveFS.html
沒有留言:
張貼留言