Страница 1 из 1

Пара задач (сдвиг, работа с датой)

Добавлено: 17 дек 2007, 22:52
flo
ребята, помогите решить пару следующих задач

[INDENT]сдвига длинного числа на заданное количество бит вправо, если число бит меньше 32[/INDENT]

и

[INDENT]определения самого старшего человека в списке, если для задания возраста используется запись, содержащая: день (? бит), месяц (?), год (?). Вместо знака «?» подставьте минимально допустимое число бит. Для года можно предположить, что год рождения в 20 столетии[/INDENT]

:confused:

Re: Пара задач (сдвиг, работа с датой)

Добавлено: 17 дек 2007, 23:13
somewhere
&quot писал(а):сдвига длинного числа на заданное количество бит вправо, если число бит меньше 32
А что собственно сложного?

Код: Выделить всё

Shr [mem32], N
Такая команда предусмотрена начиная с 386 процессоров.
&quot писал(а):определения самого старшего человека в списке, если для задания возраста используется запись, содержащая: день (? бит), месяц (?), год (?). Вместо знака «?» подставьте минимально допустимое число бит. Для года можно предположить, что год рождения в 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
что-то у меня не выходит (( не могли бы вы помочь с кодом? :confused:

Re: Пара задач (сдвиг, работа с датой)

Добавлено: 26 дек 2007, 11:28
somewhere
Что именно не получается?