Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ПОМОГИТЕ! СРОЧНО! ОЧЕНЬ ВАЖНО!

1.3K
06 декабря 2001 года
Intruder
1 / / 20.05.2000
Какой алгоритм нужно использовать для программы-калькулятора, призводящей простые арифметические деййствия с числами в системе счисления, отличной от нуля, не прибегая к переводу этих чисел в десятичную систему?
545
07 декабря 2001 года
Посторонний
74 / / 20.05.2000
Считать в двоичной системе.
Аноним
Цитата:

On 2001-12-07 0446, Посторонний wrote
Считать в двоичной системе.


А если нужно считать в той системе, в которой работает калькулятор?

545
10 декабря 2001 года
Посторонний
74 / / 20.05.2000
Цитата:

On 2001-12-10 0034, Anonymous wrote
[quote]
On 2001-12-07 0446, Посторонний wrote
Считать в двоичной системе.


А если нужно считать в той системе, в которой работает калькулятор?
[/quote]
Ну...если это КРИТИЧЕСКИ важно, тогда использовать операции работы по модулю. Их придётся или писать самому или искать где-нибудь готовые. Но только надо ли это?

449
15 декабря 2001 года
Fantasist
124 / / 20.06.2000
Очевидно, что запись в любой системе исчесления, можно разложить

an*p^n+a(n-1)*p^(n-1)+...+a1*p^1+a0*p^0

где p-основание системы исчисления.

пример(для 9-иричной)

m=783=7*9^2+8*9^1+3*9^0

предлагается использовать массив куда по разрядам записывать число. Для верхнего примера
m[0]=3
m[1]=8
m[2]=7
положим, есть другое число в тойже сис. исч.
m1=207 =
m1[0]=7
m1[1]=0
m1[2]=2;
теперь складаваем
m[0]+m1[0]=3+7=10 это больше 9, значит m2[0]=10-9=1 (1 - запоминаем)
m[1]+m1[1]=8+0+1=9 - .... - m2[1]=9-9=0 (1)
m[2]+m1[2]=2+7+1=9 - ..... - m2[3]=0 (1)
m2[3]=1
И получилось m2 = 1001 (двоичное . Ха-ха. Шутка.)

Остальные действия по тому-же принципу.(за исключением всяких сложных операций)

А можно просто - перевести в десятичную, посчитать, и перевести обратно.
Аноним
ispol'zyj LSHIFT(na 2 ravnosil'no *) & RSHIFT


Цитата:

On 2001-12-05 2348, Intruder wrote
Какой алгоритм нужно использовать для программы-калькулятора, призводящей простые арифметические деййствия с числами в системе счисления, отличной от нуля, не прибегая к переводу этих чисел в десятичную систему?

1.1K
24 декабря 2001 года
sawa
12 / / 20.04.2000
Ничего не понимаю! Ведь в конце-концов для арифметических операций будет использоваться процессор? Или где-то в программе будут храниться таблицы, типа

char* s="2+2";
...
result=summa(2,2);
...

int summa(int arg1, int arg2) {
struct {
int arg1, arg2, sum;
} s[]= {
...
{2, 2, 4},
};
...
return s.sum;
}

И то в приведённом примере используется преобразование в родную систему (двоичную) процессора. Дб даже так
char* summa(char* arg1, char* arg2);

Неужели нужен ТАКОЙ калькулятор?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог