根據需要將任意32位二進位制轉換為ip位址。
輸入:11111111
輸出:255.0.0.0
思路:將輸入的二進位制數以每8個為乙個單位轉化為十進位制 。
#include int bin_dec(int x, int n) //自定義函式將二進位制數轉換為10進製
return x * bin_dec(x, n-1); //遞迴呼叫bin_dec()函式
}int main(void)
; char a[33];
printf("請輸入二進位制數: \n");
scanf("%s", a);
for(i=0; i<8; i++) }
for(i=8; i<16; i++) }
for(i=16; i<24; i++) }
for(i=24; i<32; i++)
if(a[i] == '\0')
}printf("ip:\n");
printf("%d.%d.%d.%d\n", ip[0], ip[1], ip[2], ip[3]);//輸出ip位址
return 0;
}
將負數轉換為二進位制
我們已經知道計算機中,所有資料最終都是使用二進位制數表達。我們也已經學會如何將乙個10進製數如何轉換為二進位制數。不過,我們仍然沒有學習乙個負數如何用二進位制表達。比如,假設有一 int 型別的數,值為5,那麼,我們知道它在計算機中表示為 00000000 00000000 00000000 000...
將十進位制轉換為二進位制
問題 將任一十進位制整數轉換為二進位制形式。方法一分析 將十進位制轉換為二進位制的方法很多,本方法利用c語言能夠對位進行操作的特點。對於c語言來說,乙個整數在計算機內就是以二進位制形式儲存的,所以沒有必要再將乙個整數經過一系列運算轉換為二進位制形式,只要將整數在記憶體中的二進位制表示輸出即可。源程式...
c 將十進位制轉換為二進位制 小數 二進位制的轉換
二進位制是在計算機中常用的一種進製數,其資料用0和1兩個數碼來表示資料。我們人類常用的是十進位制,那麼二進位制和十進位制之間是有乙個轉換方法的。二進位制轉換十進位制 乙個二進位制數轉換為十進位制數,是比較簡單的,其方法就是用每乙個位置上的數字乘以該位置的權重,然後相加得到。舉個例子,二進位制的101...