寫這篇部落格的緣由在於自己在判斷ip位址的合法性上吃了幾次考慮不周全的虧。
算是引以為戒吧。
#include
#include
#include
using
namespace
std;
bool change2binary(const
string &str) ;
for(unsigned i = 0; i < str.size(); ++i)
if(judge.find(str[i]) == -1) return
false;
} if(cnt != 3 || str[0] == '.' || str[str.size() - 1] == '.'
|| dots[1] - dots[0] < 2 || dots[2] - dots[1] < 2)
return
false;
/* 將ip位址由 . 分隔的四個字段存入四個int變數中。 */
int arrint[4] = ;
unsigned k = 0;
for (int i = 0; i < 4; ++i)
++k;
}/* 判斷ip位址的合法性2 */
for (int i : arrint)
/* 將十進位制數轉換成二進位制數輸出 */
for (int i = 0; i < 4; ++i)
for (auto iter = vecbin.crbegin(); iter != vecbin.crend(); ++iter)
cout
<< *iter;
}return
true;
}int main(void)
/* 測試資料
.12.12.12
0.1.1.1.
1..2.2234
sd.12j12lj
11001010100101110110000000100001
11001010100101110110000000100001
*/
十進位制點分IP轉換為32位二進位制IP
十進位制點分ip轉換為32位二進位制ip includeusing namespace std int main a i n if p p 1 break if i 3 p 0 i p if i 4 if a k 0 cout data error 題目內容 編寫程式,將十進位制點分的ip轉換為32...
十進位制 轉換為 二進位制
聽說優酷前端面試有問進製數轉換的,甚至是負正整數轉換為二進位制,那就索性一次整個明白 正整數轉二進位制 負整數轉二進位制 小數轉二進位制 1 正整數轉成二進位制。口訣 除二取餘,倒序排列,高位補零。42 除以2得到的餘數 右邊 為010101,然後倒著排一下就是取到的二進位制了 如下圖 計算機內部表...
(string)十進位制 轉換為 二進位制
將乙個長度最多為30位數字的十進位製非負整數轉換為二進位制數輸出。輸入描述 多組資料,每行為乙個長度不超過30位的十進位製非負整數。注意是10進製數字的個數可能有30個,而非30bits的整數 輸出描述 每行輸出對應的二進位制數。輸入 013 8輸出 0111 1000 下面是王道上的解法,模擬的是...