填空題 二進位制串轉十進位制整數

2021-07-25 17:52:52 字數 420 閱讀 9870

char* p = "1100";

int n = 0;

for(int i=0;i

注意點:p[i] 可以寫為 *(p+i),'0' 可以寫為 48,注意二進位制的ascii碼制和十進位制的關係

我們設斷點單步除錯發現的規律如下:

n=0*2+1,n=1

n=1*2+1,n=3

n=3*2+0,n=6

n=6*2+0,n=12

反思:如果不能用pow函式的話,只能是從頭向後算的方法,比如模擬乙個十進位制數234,首先取2出來乘10,然後接著取3出來加上前面的結果也就是20,得23再乘10,再取4出來加上前面的結果也就是230,最後為234,那麼乘法的次數為有多少位這樣的數就乘多少次。

總結:除了用pow函式外,可以用n=n*數制+當前指標指向的值。

1039 十進位制整數轉二進位制

給出乙個十進位制的非負整數x,x 216,把它轉換成二進位制數輸出。輸入為多行,每行乙個整數x,至讀入eof結束。每行輸出x對應的二進位制數值。01 3336553501 11100001 1111111111111111 本題有多種解法 可以用迴圈迭代對2的除法和取餘操作,不過處理的順序與輸出順序...

二進位制轉十進位制

二進位制轉十進位制方法很多,如字元陣列,指標法等 下面用字串函式的方法實現 二進位制轉十進位制 主要用 到 string函式性質及pow求乙個數的n次方的函式過載 by adengou 2010.08.04 win7 dev c 5.0 vs 2010 通過 include include incl...

十進位制轉二進位制

includeint dg unsigned n,int c 注意 引數型別是unsigned int main 陣列全部初始化為0 printf d n sizeof int unsigned temp,u temp u 4294967295u int tu int u printf u u,tu...