Страница 1 из 1
Пара задач (сдвиг, работа с датой)
Добавлено: 17 дек 2007, 22:52
flo
ребята, помогите решить пару следующих задач
[INDENT]сдвига длинного числа на заданное количество бит вправо, если число бит меньше 32[/INDENT]
и
[INDENT]
определения самого старшего человека в списке, если для задания возраста используется запись, содержащая: день (? бит), месяц (?), год (?). Вместо знака «?» подставьте минимально допустимое число бит. Для года можно предположить, что год рождения в 20 столетии[/INDENT]

Re: Пара задач (сдвиг, работа с датой)
Добавлено: 17 дек 2007, 23:13
somewhere
" писал(а):сдвига длинного числа на заданное количество бит вправо, если число бит меньше 32
А что собственно сложного?
Такая команда предусмотрена начиная с 386 процессоров.
" писал(а):определения самого старшего человека в списке, если для задания возраста используется запись, содержащая: день (? бит), месяц (?), год (?). Вместо знака «?» подставьте минимально допустимое число бит. Для года можно предположить, что год рождения в 20 столетии
Максимальный номер дня - 31, достаточно 5 бит
Максимальный номер месяца - 12, достаточно 4 бит
Число лет в 20 столетии - 100, достаточно 7 бит, вести учет с 1900 по 2028 год
Re: Пара задач (сдвиг, работа с датой)
Добавлено: 17 дек 2007, 23:29
flo
а как в асме создать запись типа
поле 1 - имя : текст
поле 2 - день : 5бит
поле 3 - месяц : 4бит
поле 4 - год : 7 бит
??
Re: Пара задач (сдвиг, работа с датой)
Добавлено: 17 дек 2007, 23:33
somewhere
5 + 4 + 7 = 16 бит, как раз слово
Код: Выделить всё
MyRecord struc
Name db 20 dup(?)
Date dw ?
MyRecord ends
Re: Пара задач (сдвиг, работа с датой)
Добавлено: 25 дек 2007, 17:32
flo
что-то у меня не выходит (( не могли бы вы помочь с кодом?

Re: Пара задач (сдвиг, работа с датой)
Добавлено: 26 дек 2007, 11:28
somewhere
Что именно не получается?