用C語言將二進位制轉換為IP位址

2021-06-05 07:06:04 字數 603 閱讀 9554

根據需要將任意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...