[Homework] C# Basics - Operators Expressions and Statements - Problem 16** Exchange Bits (Advanced)
overloadСпоред мен третият пример в задачата е грешен - при него се получава type overload, имаме 32 битов , unsigneg integer , което означава 32 бита в позиции от 0 до 31 , а при този пример се получават от q+k = 22 + 10 = 32 позиция(такава няма!), което би трябвало да хвърли ексепшън - и на мен ми хвърля !
Но в отговора е даден нормален резултат...
Вашето мнение ? Къде бъркам ? Ако бъркам ?
Иначе ,задачата си я реших , с побитови операции, имам и оверлапинга и всички ексепшъни и всички останали стойностти ми излизат с правилни отговори - гектвах даже и тези от 15 задача, с к = 3 - всичко правилно. Всъщност 15 задача е частен случай на 16.
На мен са ми лесни операциите с битове - ако иска някой да пита - ще помагам !
Edited: Променено e името на темата и са добавени подходящи тагове.
Да знам , аз съм го сложила в цикъла от 0 до К-1 се въртят позициите .
Това к-1 е заради номерацията на битовете, тя е от 0 до 31 , а не от 1 до 32, от там идва и к-1, иначе са си все 32 бита , ще видя условието ми в ексепшъна за оверлод , ще пробвам да го променя .
На теб излиза ли този пример ?
Ако смяташ по условието на задачата не стигаш до 32 позиция(стигаш до 31), така че предполагам че сметките са грешни.
Ако се омотаеш пусни код да го видим.