Opened 5 years ago

Closed 5 years ago

#366 closed ожидается проверка (задача сдана)

WW #5

Reported by: Карнаухов Кирилл Owned by: Дмитрий Свиридкин
Component: WW_c_io Version: 3.0
Keywords: Cc:

Description

Пока не сделал бонусное
(Сделаю, если этот вариант будет корректным)

Change History (5)

comment:1 Changed 5 years ago by Дмитрий Свиридкин

Owner: changed from Дмитрий Свиридкин to Карнаухов Кирилл
Type: ожидается проверкаожидаются исправления

Тесты (кроме бонусного) пройдены

Как-то вы странно три байта в три инта читаете. Уверены, что получаете то, что хотите?

sizeof(int) не всегда равен 4.
Используйте int32_t.

Еще можно подумать о struct {uint8_t[3];}

Функцию end_work стоит переименовать. destroy_list, dispose_list или еще во что-нибудь в таком духе.

comment:2 Changed 5 years ago by Карнаухов Кирилл

Owner: changed from Карнаухов Кирилл to Дмитрий Свиридкин
Type: ожидаются исправленияожидается проверка
Version: 1.02.0

Добавлено бонусное задание.

comment:3 Changed 5 years ago by Дмитрий Свиридкин

Owner: changed from Дмитрий Свиридкин to Карнаухов Кирилл
Type: ожидается проверкаожидаются исправления

Тесты пройдены.

Ваше решение будет работать только на little-endian платформах. Попробуйте переделать запись/чтение из файлов, чтобы всегда гарантировать правильный порядок байтов.

9.5 + 2

comment:4 Changed 5 years ago by Карнаухов Кирилл

Owner: changed from Карнаухов Кирилл to Дмитрий Свиридкин
Type: ожидаются исправленияожидается проверка
Version: 2.03.0

comment:5 Changed 5 years ago by Дмитрий Свиридкин

Resolution: задача сдана
Status: assignedclosed

int на int32_t так и не заменили. Где-то плачет пара сотен тысяч ардуинок. Ведь у них int двухбайтный.

Манипуляции над битами лучше делать в unsigned типах. Там спокойнее.

1 << 23 -- по-умолчанию тут тип int (двухбайтовый на ардуинках).
Но даже без ардуинок, когда-нибудь вам захочется сделать, например, 1 << 32, и undefined behavior вас накажет. Перед сдвигом констант всегда кастуйте их к подходящему типу либо используйте суффиксы (u,l,ll и прочие)

9.7 + 2

Note: See TracTickets for help on using tickets.