2012-03-22 5 views
1

IP 주소의 브로드 캐스트를 계산하려면 네트워크 주소 (ANDing으로 계산)를 계산해야합니다. 이제 브로드 캐스트 주소가 필요합니다. 사용하는 방법은 네트워크 주소의 모든 호스트 비트가 1로 설정되어 마지막으로 사용 가능한 IP 주소를 얻습니다. C# 마지막 문자를 다른 문자열로 바꿉니다.

이제 문제는 그들이 문자열의 모든 경우 내가 문자열 1의 (0의 대체)에 마지막 부분을 변환 어떻게,

Anyway, the idea is this: 
      netbits     hostbits 
Network: 11000000 10101000 00000001 00000000 <- 192.168.1.0 
Subnet: 11111111 11111111 11111111 00000000 <- 255.255.255.0 
Broadcast: 11000000 10101000 00000001 11111111 <- 192.168.1.255 

:-) 그것을 수행하는 방법인가?

나는 얼마나 많은 0 알고 난

int hostbits = 8; 
string network ="11000010101000000000010000000"; 

string[] arraynetwork = new string[4] 
arraynetwork[0] = "11000000"; 
.... 

어떤 아이디어 (단지의 경우 배열뿐만 아니라) 문자열의 네트워크를 가지고?

+0

왜 당신은 문자열과 비트를 표현 하시겠습니까? –

+0

가능한 중복 : [브로드 캐스트 주소를 계산하는 IP 및 서브넷 마스크] (http://stackoverflow.com/questions/777617/calculate-broadcast-address-from-ip-and-subnet-mask) –

+0

바이트를 사용할 수 없습니다. 그것은 숙제로, 당신이 사용하는 것이 좋습니다 것이 있다면 :) – Nicholas

답변

1

이 트릭을 수행해야합니다

string network = "11000010101000000000010000000"; 
network = network.Substring(0, network.Length - 8) + "11111111"; 
+0

Substring()이 (Network.Length-8)을 (Network.ubstring (0, network.Length-8) – Flowerking

+0

으로 시작해야합니다. :) – Nicholas

+0

죄송합니다. 시작 색인을 완전히 잊어 버렸습니다. 그 꽃가루를 청소 해 주셔서 감사합니다! – Brian

관련 문제