Лучшие вопросы
Таймлайн
Чат
Перспективы
Нега-позиционная система счисления
позиционная система счисления с отрицательным основанием Из Википедии, свободной энциклопедии
Remove ads
Не́га-позицио́нная систе́ма счисле́ния — позиционная система счисления с отрицательным основанием. Особенностью таких систем является отсутствие знака перед отрицательными числами и, следовательно, отсутствие правил знаков. Всякое число любой из нега-позиционных систем, отличное от , с нечётным числом цифр — положительно, а с чётным числом цифр — отрицательно. Часто число в нега-позиционной системе требует для записи на одну цифру больше, чем то же число в системе с положительным основанием. Обычно название нега-позиционной системы состоит из приставки нега- и названия соответствующей системы счисления с положительным основанием; например, нега-десятичная (b = −10), нега-троичная (b = −3), нега-двоичная (b = −2) и другие.
Remove ads
Примеры
Remove ads
История
Нега-позиционные системы счисления были впервые предложены Витторио Грюнвальдом[англ.] в его работе «Giornale di Matematiche di Battaglini» 23 (стр. 203—221), опубликованной в 1885 году. Грюнвальд описал алгоритмы сложения, вычитания, умножения, деления, извлечения корня, признаков делимости и преобразования систем счисления.
Использование
Суммиров вкратце
Перспектива
Число x в нега-позиционной системе счисления с основанием представляется в виде линейной комбинации степеней числа :
- ,
где — это целые числа, называемые цифрами и удовлетворяющие неравенству , — порядковый номер разряда начиная с нулевого, n — число разрядов. Каждая степень в такой записи называется разрядом, старшинство разрядов и соответствующих им цифр определяется значением показателя . Обычно для ненулевого числа требуют, чтобы старшая цифра в b-ричном представлении была также ненулевой.
Нега-позиционные системы сравнимы с знако-разрядными системами счисления, такими как симметричная троичная система, где основание системы положительно, однако цифры могут принимать отрицательные значения из некого промежутка.
Некоторые числа обладают одним и тем же представлением в системах счисления с основанием и (позиционных и соответствующим им нега-позиционных). К примеру, числа от 100 до 109 одинаково записываются в десятичной и нега-десятичных системах счисления. Аналогично:
То есть число 17 имеет одинаковое представление в двоичной и нега-двоичной системах счисления — .
Представления чисел от −12 до 12 в различных системах счисления:
Remove ads
Перевод в нега-позиционные системы
Суммиров вкратце
Перспектива
Нега-позиционное представление числа может быть получено последовательными делениями с остатком исходного числа на (то есть на основание нега-позиционной системы) и записью подряд остатков начиная с последнего. Заметим, что если , с остатком , то . Пример перевода в нега-троичную систему:
Следовательно, нега-троичным представлением числа 146(10) является 21102(-3).
Реализация на C#:
// Нега-троичная
static string negaternary(int value)
{
string result = string.Empty;
do
{
int remainder = value % -3;
value = value / -3;
if (remainder < 0)
{
remainder += 3;
value += 1;
}
result = remainder.ToString() + result;
} while (value != 0);
return result;
}
Реализация на C++:
// Нега-двоичная
#include <iostream>
using namespace std;
int main()
{
int value,rem;
string res="";
cin>>value;
do
{
rem=value%-2;
value=value/-2;
if(rem<0)
{
rem=rem+2;
value++;
}
if(rem==1) res="1"+res;
if(rem==0) res="0"+res;
}
while(value!=0);
cout<<res;
}
Реализация на Python 3.8:
# Нега-двоичная
res = ""
value = int(input())
while True:
rem = value % -2
value = value // -2
if rem < 0:
rem = rem + 2
value = value + 1
if rem == 1:
res = "1" + res
if rem == 0:
res = "0" + res
if value == 0:
break
print(res)
Remove ads
Дроби
Это пустой раздел, который еще не написан. |
Арифметические операции
Суммиров вкратце
Перспектива
Сложение
Сложение столбиком надо делать как в обычной системе, например если вы хотите сложить в нега-десятичной системе счисления, то это надо делать как в десятичной системе счисления. Но с одним исключением: если при сложении в каком-либо разряде получается число не менее 10, то надо в этот разряд записать число единиц из полученного числа а из соседнего слева разряда вычесть единицу. Если слева нет разряда, то приписать слева 19 (для нега-десятичной, для нега-троичной 12, для нега-двоичной 11). Например (нега-десятичная система):
· · 18115 + 5487 3582
5+7=12, 2 в разряд единиц, из соседнего слева вычитаем единицу. 8+5=13, 3 в разряд минус тысяч, из соседнего слева вычитаем единицу.
· 72 + 49 1901
2+9=11, 1 в разряд единиц, из соседнего слева вычитаем единицу. 6+4=10, 0 в разряд минус десятков, соседнего слева — нет, приписываем слева 19.
Вычитание
Вычитание столбиком надо делать как в обычной системе, например если вы хотите вычесть в нега-десятичной системе счисления (НДСС), то это надо делать как в десятичной системе счисления. Но с одним исключением: если при вычитании в каком-либо разряде надо занять десяток, то вы это и делаете, но из соседнего слева разряда вы не вычитаете единицу, а наоборот прибавляете её туда. Если слева нет разряда, то приписать слева 1. Например (нега-десятичная система):
52 − 39 ??
2−9 нельзя, занимаем единицу.
2 12 − − 9 9 ?? 3
12−9=3, 3 в разряд единиц, в соседний слева разряд прибавляем единицу (52−12= 52−2+10 =50+10=60). 6−3=3.
52 52 60 60 00 − − − − − 39 30 30 30 00 ?? ?3 ?3 ?3 33
52 в НДСС = −4810. 39 в НДСС = −2110. 33 в НДСС = −2710.
−4810 − (−2110) = −2710.
Умножение
Таблицы умножения
Таблица умножения в нега-двоичной системе счисления
Таблица умножения в нега-троичной системе счисления
Таблица умножения в нега-десятичной системе счисления
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|
2 | 4 | 6 | 8 | 190 | 192 | 194 | 196 | 198 |
3 | 6 | 9 | 192 | 195 | 198 | 181 | 184 | 187 |
4 | 8 | 192 | 196 | 180 | 184 | 188 | 172 | 176 |
5 | 190 | 195 | 180 | 185 | 170 | 175 | 160 | 165 |
6 | 192 | 198 | 184 | 170 | 176 | 162 | 168 | 154 |
7 | 194 | 181 | 188 | 175 | 162 | 169 | 156 | 143 |
8 | 196 | 184 | 172 | 160 | 168 | 156 | 144 | 132 |
9 | 198 | 187 | 176 | 165 | 154 | 143 | 132 | 121 |
Remove ads
См. также
- Нега-двоичная система счисления
- Знако-разрядная система счисления
- Симметричная система счисления
![]() | В статье не хватает ссылок на источники (см. рекомендации по поиску). |
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads