# C語言學習筆記 ## 進制轉換 ### 輸出10進位的轉換 輸出成16進制 ```cpp= printf("%x",num); ``` 輸出成8進制 ```cpp= printf("%o",num); ``` 輸出成2進制 ```cpp= int _num=5; bool _find_first_one=false; for(int _i=29;_i>=0;_i--){ //notice : int only if((_num>>_i)&1) _find_first_one=true; if(_find_first_one) printf("%d",(_num>>_i)&1); } //Output : 101 ``` ### 任意進位轉換成10進位 ```cpp= char s[30] = "110"; int num = strtol(s, NULL, 2); printf("%d\n",num); //Output : 6 ``` or ```cpp= char num[]="110"; int base=2; int ans=0; for(int _i=0;_i<strlen(num);_i++){ ans*=base; ans+=(num[_i]-'0'); } printf("%d",ans); //Output : 6 ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up