내가 진수있어 내가 수행해야합니다부정과 증가 값이
1) 모든 바이트
2) 그래서 수를
을 부정하려면 1을 추가 부정, 나는이 쓴 :
public string u2_number_plus = "1001";
public string u2_number_minus = "";
public string binToU2()
{
int length = u2_number_plus.Length;
int temp = 1;
//negate all bytes
for (int a = 0; a < length; a++)
{
if (u2_number_plus[a] == '1')
u2_number_minus += '0';
else
u2_number_minus += '1';
}
//add 1 to my new (because negate) number
for (int b = length - 1; b >= 0; b--)
{
if (u2_number_minus[b] == 0 && temp == 1)
{
u2_number_minus = u2_number_minus.Replace(u2_number_minus[b], '1');
temp = 0;
}
else if (u2_number_minus[b] == 1 && temp == 1)
{
u2_number_minus = u2_number_minus.Replace(u2_number_minus[b], '0');
temp = 1;
}
else
break;
}
return u2_number_minus;
}
내 함수 binToU2()는 부울 값을 반환하지만 값은 증가하지 않습니다. 입력 데이터가 1001이면 0111을 얻지 만 함수는 단지 0110을 반환합니다. 실수 한 부분은 어디입니까?
당신이 u2_number_minus의 확인을 수행하는
네 :
BitArray 실제로
은 내가 당신에게 예를 들게 ... 비트를 저장하고 당신에게 배열을 부정하거나 다른 작업을 사용하는 기본 기능을 제공한다 하지만 지금은 함수가 모든 수를 1111로 변환합니다. 논리적 인 실수 나 코드가 아직 충분하지 않습니까? –코드를 업데이트했습니다. 이제 올바르게 작동합니다. –
감사합니다. 문제가 해결되었습니다. –