Jump to content

Нецелая база счисления

Нецелое представление использует нецелые числа в качестве основы или основания позиционной системы счисления . Для нецелого счисления β > 1 значение

является

Числа d i являются неотрицательными целыми числами, меньшими β . Это также известно как β -расширение , понятие, введенное Реньи (1957) и впервые подробно изученное Парри (1960) . Каждое действительное число имеет хотя бы одно (возможно, бесконечное) β -разложение. Множество является всех β имеющих конечное представление, подмножеством кольца β Z [ -разложений , , β −1 ].

Существуют приложения β -разложений в теории кодирования. [1] и модели квазикристаллов . [2]

Строительство

[ редактировать ]

β -разложения являются обобщением десятичных разложений . Хотя бесконечные десятичные разложения не уникальны (например, 1,000... = 0,999... ), все конечные десятичные разложения уникальны. Однако даже конечные β -разложения не обязательно единственны, например φ + 1 = φ 2 для β = φ золотое сечение . Канонический выбор β- разложения данного действительного числа может быть определен с помощью следующего жадного алгоритма , по существу предложенного Реньи (1957) и сформулированного здесь Фруньи (1992) .

Пусть β > 1 — основание, а x — неотрицательное действительное число. Обозначим через x нижнюю функцию x { (то есть наибольшее целое число, меньшее или равное x ) и пусть x } = x − ⌊ x будет дробной частью x . Существует целое число k такое, что β к х < β к +1 . Набор

и

Для k − 1 ≥ j > −∞ положим

Другими словами, каноническое β -разложение x определяется выбором наибольшего d k такого, что β к d k x , затем выбираем наибольший d k −1 такой, что β к d k + β к -1 d k −1 x и так далее. Таким образом, он выбирает самую большую лексикографически строку, представляющую x .

При целочисленной базе это определяет обычное разложение по системе счисления для числа x . Эта конструкция расширяет обычный алгоритм до возможных нецелых значений β .

Конверсия

[ редактировать ]

Следуя описанным выше шагам, мы можем создать β -разложение для действительного числа. (шаги идентичны для , хотя n необходимо сначала умножить на -1, чтобы сделать его положительным, затем результат необходимо умножить на -1, чтобы он снова стал отрицательным).

Во-первых, мы должны определить наше значение k (показатель степени ближайшей степени β, большей, чем n , а также количество цифр в , где записано n в базе β ). Значение k для n и β можно записать как:

После того как значение k найдено, можно записать как d , где

для k - 1 ≥ j > -∞ . Первые k значений d появляются слева от десятичного знака.

Это также можно записать в следующем псевдокоде : [3]

function toBase(n, b) {
	k = floor(log(b, n)) + 1
	precision = 8
	result = ""

	for (i = k - 1, i > -precision-1, i--) {
		if (result.length == k) result += "."
		
		digit = floor((n / b^i) mod b)
		n -= digit * b^i
		result += digit
	}

	return result
}

Обратите внимание, что приведенный выше код действителен только для и , поскольку он не преобразует каждую цифру в ее правильные символы или правильные отрицательные числа. Например, если значение цифры равно 10 будет представлено как 10 вместо A. , оно

Пример кода реализации

[ редактировать ]

По основанию π

[ редактировать ]
  • JavaScript : [3]
    function toBasePI(num, precision = 8) {    
        let k = Math.floor(Math.log(num)/Math.log(Math.PI)) + 1;
        if (k < 0) k = 0;
    
        let digits = [];
    
        for (let i = k-1; i > (-1*precision)-1; i--) {
            let digit = Math.floor((num / Math.pow(Math.PI, i)) % Math.PI);
            num -= digit * Math.pow(Math.PI, i);
            digits.push(digit);
    
            if (num < 0.1**(precision+1) && i <= 0)
                break;
        }
    
        if (digits.length > k)
            digits.splice(k, 0, ".");
    
        return digits.join("");
    }
    

По основанию π

[ редактировать ]
  • JavaScript: [3]
    function fromBasePI(num) {
        let numberSplit = num.split(/\./g);
        let numberLength = numberSplit[0].length;
    
        let output = 0;
        let digits = numberSplit.join("");
    
        for (let i = 0; i < digits.length; i++) {
            output += digits[i] * Math.pow(Math.PI, numberLength-i-1);
        }
    
        return output;
    }
    

Основание 2 ведет себя очень похоже на основание 2, поскольку все, что нужно сделать, чтобы преобразовать число из двоичного числа в основание 2, — это поместить нулевую цифру между каждой двоичной цифрой; например, 1911 10 = 11101110111 2 становится 101010001010100010101 2 , а 5118 10 = 1001111111110 2 становится 1000001010101010101010100 2 . Это означает, что любое целое число можно выразить по основанию 2 без десятичной точки. чтобы показать отношение стороны квадрата к Основание также можно использовать , его диагонали , поскольку квадрат с длиной стороны 1 2 будет иметь диагональ 10 2 , а квадрат с длиной стороны 10 2 будет имеют диагональ 100 2 . Другое использование базы — показать соотношение серебра , поскольку его представление в базе 2 равно просто 11 2 . При этом площадь правильного восьмиугольника с длиной стороны 1 2 равна 1100 2 , площадь правильного восьмиугольника с длиной стороны 10 2 равна 110 000 2 , площадь правильного восьмиугольника с длиной стороны 100 2 равна 11000000 2 и т. д.

Золотая база

[ редактировать ]

В золотой базе некоторые числа имеют более одного эквивалента десятичной системы счисления: они неоднозначны . Например: 11 φ = 100 φ .

есть числа В базе ψ , которые также неоднозначны. Например, 101 ψ = 1000 ψ .

Базовый e

[ редактировать ]

С основанием e натуральный логарифм ведет себя как десятичный логарифм : ln(1e ) = 0, ln(10e ) = 1, ln(100e ) = 2 и ln(1000e ) = 3.

Основание e - наиболее экономичный выбор системы счисления β > 1, [4] где экономия системы счисления измеряется как произведение системы счисления и длины строки символов, необходимой для выражения заданного диапазона значений.

Основание π чтобы легче показать связь между диаметром круга можно использовать , и его длиной , которая соответствует его периметру ; поскольку длина окружности = диаметр × π, то окружность диаметром 1 π будет иметь длину окружности 10 π , окружность диаметром 10 π будет иметь длину окружности 100 π и т. д. Кроме того, поскольку площадь = π × радиус 2 , круг радиусом 1 π будет иметь площадь 10 π , круг радиусом 10 π будет иметь площадь 1000 π и круг радиусом 100 π будет иметь площадь 100000 π . [5]

Характеристики

[ редактировать ]

Ни в одной позиционной системе счисления каждое число не может быть выражено однозначно. Например, в десятичной системе число 1 имеет два представления: 1,000... и 0,999... . Набор чисел с двумя разными представлениями плотен в действительных числах, [6] но вопрос классификации действительных чисел с уникальными β -разложениями значительно более тонкий, чем вопрос о целочисленных основаниях. [7]

Другая проблема — классифицировать действительные числа, β -разложения которых являются периодическими. Пусть β > 1 и Q ( β ) — наименьшее расширение поля рациональных чисел , содержащее β . Тогда любое действительное число из [0,1), имеющее периодическое β -разложение, должно лежать в Q ( β ). С другой стороны, обратное не обязательно должно быть верным. Обратное справедливо, если β число Писо , [8] хотя необходимые и достаточные условия неизвестны.

См. также

[ редактировать ]
  1. ^ Каутц 1965
  2. ^ Бурдик и др. 1998 год ; Терстон 1989 г.
  3. ^ Jump up to: Перейти обратно: а б с «Главная» , decimalsystem.js.org
  4. ^ Хейс 2001
  5. ^ «Странные числовые базы» , DataGenetics , получено 1 февраля 2018 г.
  6. ^ Петковшек 1990
  7. ^ Glendinning & Sidorov 2001
  8. ^ Шмидт 1980

Источники

[ редактировать ]

Дальнейшее чтение

[ редактировать ]
  • Сидоров, Никита (2003), «Арифметическая динамика», в Безуглый, Сергей; Коляда, Сергей (ред.), Вопросы динамики и эргодической теории. Обзорные статьи и мини-курсы, представленные на международной конференции и американо-украинском семинаре по динамическим системам и эргодической теории, Кацивели, Украина, 21–30 августа 2000 г. , Лондон. Математика. Соц. Лект. Примечание Сер., вып. 310, Кембридж: Издательство Кембриджского университета , стр. 145–189, ISBN.  978-0-521-53365-2 , Збл   1051.37007
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 265c5e849f0c1ffb1a086852f7076516__1715351580
URL1:https://arc.ask3.ru/arc/aa/26/16/265c5e849f0c1ffb1a086852f7076516.html
Заголовок, (Title) документа по адресу, URL1:
Non-integer base of numeration - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)