華為筆試 IP位址到整數之間的轉換

2021-09-29 04:26:05 字數 887 閱讀 8467

給定乙個ip位址,例如:

乙個ip位址為10.0.3.193

每段數字 相對應的二進位制數

10 00001010

0 00000000

3 00000011

193 11000001

組合起來即為:00001010 00000000 00000011 11000001,轉換為10進製數就是:167773121,即該ip位址轉換後的數字就是它了。

解題思路:

1、把所給ip位址進棧,從棧頂到棧底依次為:193 3 0 10

2、自棧頂往下將沒個數字變為二進位製入佇列,如193 3 0 10變為二進位製入佇列:10000011 11000000 00000000 01010000

3、佇列操作,自對頭至隊尾,遇1則加其2的n(佇列中位置)次方即可

#include

#include

#include

#include

#include

using

namespace std;

intmain()

while

(!st.

empty()

)}while

(n)while

(total%8)

st.pop();

}int sum=0;

for(

int i=0;

!qu.

empty()

;i++

) sum=sum+num2;

} qu.

pop();

} cout

}

IP位址轉 整數互相轉換

知識點 乙個二進位制數,按位左移n位,就是把該數的值乘以2的n次方 二進位制除二即右移一位 1 ip位址轉換為整數 乙個無符號32為整數。每段數字 相對應的二進位制數 10 00001010 0 00000000 3 00000011 193 11000001 public class ip pub...

IP位址與整數之間的轉換

1 ip位址轉換為整數原理 ip位址每段可以看成是8位無符號整數即0 255,把每段拆分成乙個二進位制形式組合起來,然後把這個二進位制數轉變成 乙個無符號32為整數。舉例 乙個ip位址為10.0.3.193 每段數字 相對應的二進位制數 10 00001010 0 00000000 3 000000...

IP位址與整數之間的轉換

ip位址與整數之間的轉換 1 ip位址轉換為整數 每段數字 相對應的二進位制數 10 00001010 0 00000000 3 00000011 193 11000001 組合起來即為 00001010 00000000 00000011 11000001,轉換為10進製就是 167773121,...