1. 程式人生 > >整數與IP地址間的轉換【牛客網】

整數與IP地址間的轉換【牛客網】

題意理解

給出一個ip和整數,分別轉換成整數和ip,轉換規則是ip每個欄位轉換成8為二進位制數,再拼成32位的二進位制數。

問題分析

ip轉整數,按.取各欄位字串,轉化為整數,再按照a*2^24+b*2^16+c*2^8+d公式計算整數。

整數轉ip,分別整除2^24,2^16,2^8得到四個欄位的整數,再拼在一起。

 

其他

這個問題很經典。我的方法有點點笨。另外一個思路不錯,如下:

1 int>char>int>char方法讀入ip欄位,再用左移計算整數

2 整數用&與操作分別取最高8位,中間兩個8位,最後8位,再移位24,16,8,得到各欄位值。

連結

https://github.com/xierensong/learngit/blob/master/ncode/7/7.cpp