簡介
ip位址(英語:internet protocol address)是一種在internet上的給主機編址的方式,也稱為網際協議位址。ip位址是ip協議提供的一種統一的位址格式,它為網際網路上的每乙個網路和每一台主機分配乙個邏輯位址,以此來遮蔽實體地址的差異。常見的ip位址,分為ipv4與ipv6兩大類。目前還有些ip**軟體,但大部分都收費。(在高中的備戰oi時學過的都忘記了這次又遇到一道題正好回顧一下知識)
題目**(為ipv4):
ip計算
在網路課程上,我學到了很多有關ip的知識。ip全稱叫網際協議,有時我們又用ip來指代我們的ip網路位址,現在ipv4下用乙個32位無符號整數來表示,一般用點分方式來顯示,點將ip位址分成4個部分,每個部分為8位,表示成乙個無符號整數(因此不需要用正號出現),如192.168.100.16,是我們非常熟悉的ip位址,乙個ip位址串中沒有空格出現(因為要表示成乙個32數字)。
但是粗心的我,常常將ip位址寫錯,現在需要你用程式來判斷。
input
輸入有多個case,每個case有一行,不超過100個字元。
output
對於每個case,判斷輸入的ip是否正確,如果正確輸入yes,否則no。
sample input
192.168.100.16
sample output
yes正確的ip:ip位址每個位元組範圍是0到255,ipv4中規定ip位址長度為32(按tcp/ip參考模型劃分) ,即有2^32-1個位址。一般的書寫法為4個用小數點分開的十進位制數。也有人把4位數碼化成乙個十進位製長整數,但這種標示法並不常見。另一方面,ipv6使用的128位位址所採用的位址記數法,在ipv4也有人用,但使用範圍更少。
**:
#include#include#include#includeusing namespace std;
int i, j, k, m, n, l, s, t, x, y;
int main()
}if (j != 4)
if (flag == 0)
//3個點,並且不能有其他字元
b[0] = -1;
b[4] = n;
for (i = 0; i <= 3; i++)
if (b[i + 1] - b[i] == 1 || b[i + 1] - b[i] > 4)
if (flag == 0)
for (j = 0; j <= 3; j++)
if (x >= 256)
}if (flag == 0)
cout << "yes\n";
}}
linux中匹配正確的ip位址
sed n 0 9 0 9 0 9 0 9 p test 這種匹配存在明顯的問題,在正則匹配的過程中,若是出現300,1,255,0 192.168.0.192.168,1.1.1這種錯誤的ip位址,任然會被匹配到 在這裡,逛論壇的時候看見一位老哥踩了乙個坑,這裡做 一下記錄 sed n r 0 9...
向eureka註冊正確的ip位址
我們的eureka的頁面後面的連線可能會出現主機名,或者ip位址的情況 伺服器有多塊網絡卡,要選擇正確網絡卡的ip位址向eureka進行註冊 spring cloud inetutils ignored inte ces 忽略的網絡卡 vm.preferred networks 要使用的網絡卡的網段...
python檢查IP位址正確性
encoding utf 8 import os,sys def check ip ipaddr addr ipaddr.strip split 切割ip位址為乙個列表 print addr if len addr 4 切割後列表必須有4個引數 print check ip address fail...