IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Перевод числа из 10 в -10 систему счисления, Перевод числа из 10 в -10 систему счисления
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Мужской

Репутация: -  1  +


в качестве основания позиционной системы счисления может быть взято отрицательное число. Например можно рассмотреть систему с основанием -10 . Любое n единственным образом представляется в виде суммы As*(-10)^S+As-1*(-10)^s-1+...+A1(-10)+A0 где 0<=Ai<=9, i=0...s. Из сказанного следует что любое целое n записывается в системе с основанием -10 в виде целого числа без знака As As-1...A1 A0

Дано целое число n. ПОстроить представлени n в системе с основанием -10 те найти соответствующие As , As-1,..,A0
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Рустам @ 8.04.2009 19:32) *
я только сдал ту программу которая без учёта отрицательных чисел...

А почему отрицательные не прокатили? blink.gif

Цитата(Рустам @ 8.04.2009 19:32) *
Кстати насчёт не однозначности...Учительница говорила с точки зрения алгебры чисел должно быть например
12(в 10) = 192(в -10)
а -12 = -192 ...вот а с точки зрения алгебры чисел -12= 28 будет неверным))) так что спасибо))
Не совсем понял тебя. Напиши основания во втором равенстве (кстати, используй тэг SUB для индексов). Я говорил про то, что одно и то же число (просто число, без привязки к системе счисления, как пять пирожков) в СС с основанием -10 может иметь больше, чем одно представление. В пример привел минус единицу (что означает, что ты должен один пирожок Пете). Это число в СС-10 представляется двумя способами: как -1-10 и как 19-10.
Но, повторяю, я не вижу тут большого греха. Никто не обязывал СС быть однозначной. Просто лишний повод не пользоваться этой СС на практике)).

Стоп.. Если убрать запись с лидирующим минусом, то однозначность восстановится.. Ага, понял. Ты это имел в виду? Поэтому отрицательные не прокатили? Тебе годится только запись без минуса?.. Хорошо, я напишу прожку..

Цитата(amega @ 8.04.2009 21:10) *
с точки зрения дичитичной 1+1 =2 , а двочной 1+1=10, для каждой системы счисления своя алгебра, если взять шеснадцатиричную ... в диситичной нетже а б с д е ф, если есть неоднозначность , то нельзя ее спихивать на алгебру...
amega, потрудись вникнуть перед тем, как отвечать в тему. Речь совершенно не об этом.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Lapp @ 8.04.2009 23:43) *
запись без минуса?.. Хорошо, я напишу прожку.
Вот, написал.. Если честно - недоволен своим творением. Все как-то через ж..
Суть такова: если число меньше нуля, то я конструирую число p+a, где p - минимальная нечетная степень десяти, превосходящая |a|. Это число я перевожу в СС-10. А число (-p) в СС-10 будет представлено единицей в нечетной позиции. Сложить числа (p+a) и (-p) будет означать просто добавить единицу в ту самую нечетную позицию. Это я и делаю.
var
b: array[1..100]of byte;
i,l,d,q: integer;
a,c,p: LongInt;
Neg: boolean;

begin
Write('Type in a number: ');
ReadLn(a);
Neg:=a<0;
if Neg then begin
a:=-a;
p:=10;
q:=1;
while p<a do begin
p:=p*100;
q:=q+2
end;
a:=p-a
end;
l:=0;
while a>0 do begin
d:=a mod 10;
a:=a div 10;
Inc(l);
if Odd(l) or (d=0) then b[l]:=d else begin
b[l]:=10-d;
a:=a+1
end
end;
if l=0 then begin
l:=1;
b[1]:=0
end;
if Neg then begin
l:=q+1;
if l<q then b[q]:=0;
b[l]:=1;
end;
Write('-10 based notation: ');
for i:=l downto 1 do Write(b[i]);
WriteLn;
Write(' Back to normal: ');
c:=0;
for i:=l downto 1 do c:=c*(-10)+b[i];
WriteLn©
end.

Должен быть более логичный способ, не так сильно зависящий от знака числа. Он же, думаю, и более простой. Но слова "более простая программа" абсолютно не значат, что ее проще написать.. smile.gif

Да, и еще один исправил баг: если введенное число было равно нулю, то вообще ничего не выводилось. В принципе, это правильно, но лучше все же придерживаться общепринятых обозначений smile.gif.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Рустам   Перевод числа из 10 в -10 систему счисления   5.04.2009 19:56
amega   тоесть ты имееш ввиду просто раскласти в виде поли…   5.04.2009 20:43
Рустам   тоесть ты имееш ввиду просто раскласти в виде пол…   5.04.2009 20:47
Lapp   Дано целое число n. ПОстроить представлени n в сис…   6.04.2009 4:38
Рустам   Спасибо огромное!!! но почему для отри…   6.04.2009 8:30
Lapp   Спасибо огромное!!! но почему для отри…   6.04.2009 11:44
Рустам   Огромное спасибо)) я только сдал ту программу кото…   8.04.2009 22:32
amega   ойойой а алгебра для какой системы счисления 10, д…   9.04.2009 0:10
Lapp   я только сдал ту программу которая без учёта отриц…   9.04.2009 2:43
Lapp   запись без минуса?.. Хорошо, я напишу прожку.Вот,…   9.04.2009 8:05
volvo   Андрей, что-то не так... Type in a number: 124 -…   9.04.2009 16:20
Lapp   -10 восстанавливается нормально, -451 тоже. А все …   10.04.2009 4:23
Рустам   Ничё се прожку я дал....Спасибо всем огромное я сд…   11.04.2009 1:07
Lapp   я сдал прогу уже давно!!! Lapp тебе от…   11.04.2009 8:07
Рустам   Как мне объясняли... что вот в 10 системе.. 123 н…   11.04.2009 13:01
Lapp   Как мне объясняли... что вот в 10 системе.. 123 н…   11.04.2009 13:38
Рустам   Ууу да я отсюда больше узнаю чем от нашей училки))…   12.04.2009 15:39


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 5.09.2025 9:46
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name