Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2010, 12:09   #1
mmarina80
Пользователь
 
Регистрация: 02.01.2010
Сообщений: 10
По умолчанию Объясните, как сравнить числа (123)8 и (100110)2.

Объясните, как сравнить числа (123)8 и (100110)2.
mmarina80 вне форума Ответить с цитированием
Старый 08.01.2010, 12:47   #2
Serebro
FORTRAN programmer
Форумчанин
 
Регистрация: 08.12.2009
Сообщений: 153
По умолчанию

Цитата:
Сообщение от mmarina80 Посмотреть сообщение
Объясните, как сравнить числа (123)8 и (100110)2.

Очень просто: переведи числа в одинаковую систему счисления, например, в двоичную:

(123)8 = (1 010 011)2
(100110)2.
Serebro вне форума Ответить с цитированием
Старый 08.01.2010, 13:25   #3
mmarina80
Пользователь
 
Регистрация: 02.01.2010
Сообщений: 10
По умолчанию

Да, я поняла. Но только не поняла, как это делается.
mmarina80 вне форума Ответить с цитированием
Старый 08.01.2010, 14:01   #4
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Можно и тут глянуть. А вообще это курс информатики школьной а 9-й класс.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 08.01.2010, 14:10   #5
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Например, здесь функция KToDec(x: string; k: byte): longint; переводит из к-ой системы в десятиричную.
Код:
var a, b: longint;
begin
  a := KToDec('123', 8);
  b := KToDec('100110', 2);
  if a > b then write('123') else if a < b then write('100110') else write('ravno');
  readln
end.
Или ещё поиском по форуму пройтись
eoln вне форума Ответить с цитированием
Старый 08.01.2010, 15:00   #6
mmarina80
Пользователь
 
Регистрация: 02.01.2010
Сообщений: 10
По умолчанию

Цитата:
Сообщение от ROD Посмотреть сообщение
Можно и тут глянуть. А вообще это курс информатики школьной а 9-й класс.
За это спасибо! Только когда я училась в школе, такого в программе по информатике не было, а может, школа такая... А число (123)8 записано в какой системе? И как мне тогда сравнить эти числа - (112)3 и (20)8?
mmarina80 вне форума Ответить с цитированием
Старый 08.01.2010, 15:04   #7
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Цитата:
А число (123)8 записано в какой системе?
скорее всего, раз цифра 8 не в скобках, это основание системы счисления (т.е. система восьмеричная).


А что бы сравнить (112)3 и (20)8 их надо привести к одной системе счисления (как это уже Serebro упомянул ранее).


Для простоты их можно сравнить в десятичной системе счисления. Как в нее перевести числа написано в википедии


Если кратко, то десятичной СС число можно представить как (на примере вашего числа (123)8 )
1*8^2 + 2*8^1 + 3*8^0= 16 + 16 + 3 = 35 ( A^B обозначает, тут, возведение числа A в степень B)
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс

Последний раз редактировалось ROD; 08.01.2010 в 15:15.
ROD вне форума Ответить с цитированием
Старый 08.01.2010, 15:38   #8
mmarina80
Пользователь
 
Регистрация: 02.01.2010
Сообщений: 10
По умолчанию

Спасибо, теперь все понятно!
mmarina80 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. рекурсия. числа. объясните, как работает код [silver beast] Помощь студентам 2 21.01.2009 05:00
Как автоматически удвоить строки прайса(было 123 нужно 112233) lemberger Microsoft Office Excel 2 17.09.2008 11:26