Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.147.86.216] |
|
Сообщ.
#1
,
|
|
|
Нужно сделать на языке Си (C) Определение в указанном числе позиции последнего вхождения заданной битовой последовательности. При этом нужно: корректная работа реализованной функции с целыми числами различных размерностей (от 1-го до 8 байт)
|
Сообщ.
#2
,
|
|
|
надо бы постановку поковырять!
допустим, есть целое ОДНОбайтовое число x = 27. в двоичной системе оно примет вид: 00011011 (16 + 8 + 2 + 1 = 27, вроде все верно!) младший разряд - самый правый (у него номер принимать за 0, наверное, хотя не факт) старший разряд - самый левый (у него номер принимать за 7, наверное, хотя не факт) и допустим подается образец-вхождение, состоящий из 3ех бит = "001". нужно найти последнее вхождение, именно ПОСЛЕДНЕЕ. хм...а ищем слева-направо или справа-налево. Ну, наверное от меньшего бита к старшему, т е справа-налево. в итоге есть вхождение образца и только единственное: 00011011 хм...оно начинается с позиции..6ой чтоли или 4ой. наверное, искать лучше слева-направо вхождение. как-то логичнее будет происходить поиск (как будто в строке ищем подстроку) вот такие моменты нужно поднимать и сразу обговаривать. а вообще, битовые операции в помощь: <<, >>, ~, ^, наверное... |