c語言例項 ip位址形式輸出

2021-08-20 20:28:52 字數 962 閱讀 4356

問題:輸入乙個32位的二進位制的數,每8位轉化為乙個十進位制的書,將其轉化為十進位制的ip位址。

思路先行:第一步:總體思路:輸入二進位制數,然後每八個為乙個小單位分開,形成乙個對應的十進位制數,最終形成四個ip數。

第二步:分別定義存放ip的陣列,存放二進位制的陣列,把二進位制數用字串的形式存放。

第三步:每八個二進位制數轉化為乙個十進位制數字,這裡呼叫轉化函式bin_dec()。

**如下:

#include //引入標頭檔案

//呼叫的二進位制轉化函式:遞迴函式

int bin_dec(int x,int n)

void main() // 入口函式

; //定義存放ip的陣列

char a[33]; //定義存放二進位制數

printf("請輸入二進位制數:");

scanf("%s",a); //以字串的形式讀入

for(i=0;i<8;i++) //第乙個ip(0-7位轉換結果) }

for(i=8;i<16;i++) //第二個ip(8-15位轉換結果) }

for(i=16;i<24;i++) //第三個ip(16-23位轉換結果) }

for(i=24;i<32;i++) //第四個ip(24-31位轉換結果)

if(a[i]=='\0')

break;

} printf("ip:%d.%d.%d.%d\n",ip[0],ip[1],ip[2],ip[3]); //輸出結果

}

結果如下:

C語言實戰105例子 例項5 IP位址解析

說明 使用者輸入乙個十六進製制的ip位址後,程式會對該段ip位址解析,然後以常見的分段方式呈現給使用者。將乙個十六進製制的ip 位址分別儲存在不同的無符號整型變數中。解析 1 0 8 表示式的意思是,0 的所有位都為1,這裡使用語句 0 2 大部分c編譯器提供了迴圈左移函式 rotl 和迴圈右移函式...

C語言例項練習

最近撿起了很久以前的c語言,把一些看到敲下練習的例項記錄如下 有1 2 3 4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?void test1 int num printf count is d n count 乙個整數,它加上100後是乙個完全平方數,再加上168又是乙個完全平方數...

C 語言例項001

我是新手 碼農一童,目的是為了與大家分享,討論c語言 並督促自己學習,話不多說,見乾貨。1 輸出helloword includevoid main 主函式 2 執行多個原始檔 hello.h檔案 includevoid helloworld 函式宣告print.cpp 檔案 include hel...