十進位制點分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位二進位制ip位址。程式要能驗證輸入的十進位制點分ip位址的合法性。使用者輸入的ip不和法時,輸出"data error"。
請使用模組化程式設計的思想,將功能模組編寫成函式。通過指標傳遞引數,運算元據,返回結果。在主函式中輸入ip位址,呼叫函式進行合法性驗證和轉換,在主函式中輸出32位二進位制ip。
輸入格式:
十進位制點分ip位址(英文句點)
輸出格式:
32位二進位制數(二進位制字串)
輸入樣例:
202.151.96.33
輸出樣例:
11001010100101110110000000100001
13/2=6.....1(低位)
6/2=3......0
3/2=1......1
1/2=0......1
轉換後的二進位制數字1101
十進位制點分IP轉換為32位二進位制IP
寫這篇部落格的緣由在於自己在判斷ip位址的合法性上吃了幾次考慮不周全的虧。算是引以為戒吧。include include include using namespace std bool change2binary const string str for unsigned i 0 i str.si...
十進位制 轉換為 二進位制
聽說優酷前端面試有問進製數轉換的,甚至是負正整數轉換為二進位制,那就索性一次整個明白 正整數轉二進位制 負整數轉二進位制 小數轉二進位制 1 正整數轉成二進位制。口訣 除二取餘,倒序排列,高位補零。42 除以2得到的餘數 右邊 為010101,然後倒著排一下就是取到的二進位制了 如下圖 計算機內部表...
(string)十進位制 轉換為 二進位制
將乙個長度最多為30位數字的十進位製非負整數轉換為二進位制數輸出。輸入描述 多組資料,每行為乙個長度不超過30位的十進位製非負整數。注意是10進製數字的個數可能有30個,而非30bits的整數 輸出描述 每行輸出對應的二進位制數。輸入 013 8輸出 0111 1000 下面是王道上的解法,模擬的是...