2010-05-29 3 views
1

unary encoding을 구현하는 방법에 대한 질문이 있습니다. 예 : 우리는 어떻게 달라질 수 있습니까 n (음수가 아님) n (엄밀히 말해서 양수)? 나는 조금 이해하지 못한다. 도와주세요.단항 코딩을 구현하는 방법?

나는 코드를 변경하고 작성했다.

public class unary { 
    public static void main (String[] args) { 
     int n = 10; 
     int i = 0; 
     String t = ""; 
     while (i<n) { 
      t += "1"; 
      i++; 
     } 
     t += "0"; 
     System.out.println(n); 
     System.out.println("unary representation:"); 
     System.out.println(t); 
    } 
} 

결과 :

10 
unary representation: 
11111111110 

그것이 바로이 같은가요?

+0

'111110'과 같은 것을 얻었고 해당 내용을 알고 싶다면 사전에 형식을 알아야합니다 (부정적이지 않거나 엄격하게 긍정적 인 경우). –

+0

11111111110은 10 또는 11이며, 도메인에 0이 있는지 여부에 따라 다릅니다. –

+0

감사합니다. 모두들 –

답변

4

0 이외의 자연수에는 0이 포함됩니다. 엄밀히 말해서 자연수는 없습니다. 엄격하게 정의되지 않은 것을 제외 할 필요는 없습니다. 정의에 관한 것입니다.

단항 문자열 0은 도메인이 음수가 아닌 경우 0이고 도메인이 양수인 경우 1을 나타내는 첫 번째 자연수를 나타냅니다.

숫자 10은 음수가 아닌 숫자를 처리하는 동안 정확히 양수 또는 11111111110을 처리하면서 1111111110으로 표시됩니다.

관련 문제