Как реализовать Унарное кодирование? - PullRequest
1 голос
/ 30 мая 2010

У меня вопрос о том, как реализовать унарное кодирование . Например: как мы можем отличаться 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

Правильно ли это так?

1 Ответ

4 голосов
/ 30 мая 2010

Неотрицательные натуральные числа включают 0. Строго положительных натуральных чисел нет. Вам не нужно отличать неотрицательное от строго положительного, все дело в определении.

Унарная строка 0 представляет первое натуральное число, которое равно 0, если домен является неотрицательными числами, или 1, если домен является строго положительными числами.

Число 10 представляется как 1111111110 при работе со строго положительными числами или 11111111110 при работе с неотрицательными числами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...