Представление числа Radix

Я недавно начал изучать логические конструкции, и у меня есть несколько вещей, которые я не совсем понимаю.

Допустим, вам дано определенное значение в секундах (скажем, 3 000 000) и вас попросят преобразовать в недели, дни, часы, минуты и секунды (смешанный корень). Как бы вы это преобразовали? Я попытался сначала разделить значение на 60 (для секунд), использовал частное (?) В качестве первого числа, затем снова разделил остаток на 60 (на этот раз на количество минут) и так далее для каждого основания (60 с, 60 м, 24ч, 7д, 52н). Вот как вы должны это решить?

Я также хотел бы знать, как найти максимальное значение, которое может быть представлено векторами x (например, 4) с основанием (например, 6). Я думал, что это будет сумма значений для каждого места вектора (216, 36, 6, 1), то есть 259. Но я не думаю, что это правильно.

Я пытался найти любую помощь в Интернете, но не смог найти ни одной, которая давала бы легкое объяснение.


person Vik    schedule 29.06.2015    source источник
comment
SO работает лучше всего, когда вы ограничиваете один вопрос для каждого сообщения. Ответ на ваш первый вопрос - да, я думаю (написание вашего примера поможет). По второму вопросу сложнее понять, о чем вы спрашиваете.   -  person Teepeemm    schedule 01.07.2015


Ответы (1)


Для вашего первого вопроса (принимая количество секунд N = 3 000 000):

  • секунд = N мод 60
  • минут = (N - секунды) / 60
  • часы = минуты / 60
  • дней = часов / 24
  • недели = дни / 7

Где / - целочисленное деление (с усечением вместо округления).

Для вашего второго вопроса вы должны умножить максимальное значение каждого места на его размер. То же самое относится, скажем, к любой системе счисления, например 9999 в десятичной форме: максимум не 9 + 9 + 9 + 9 = 36, а 9 * 1000 + 9 * 100 + 9 * 10 + 9 * 1.

person Community    schedule 07.07.2015