正確的IP位址

2022-05-28 15:15:11 字數 1301 閱讀 5957

簡介

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...