Loading...
RosenPlaminovZarev avatar RosenPlaminovZarev 7 Точки

Въпрос относно използването на променливата Mask в една от задачата

Здравейте колеги,

имам едно питане: - Та, каква е ролята на mask - променливата, че нещо не мога да схвана? С какво тя е необходима та има нужда да я инициализираме? Дайте някакъв по-подробен отговор и с пример, че съм в шах. Благодаря!

0
Programming Basics
dimitarstoyanov90 avatar dimitarstoyanov90 164 Точки

Дай конкретна задача като примерче за да мога да ти отговоря по точно :) За коя задача става въпрос ?

0
HPetrov avatar HPetrov 822 Точки

Ако става дума за mask от задачите с побитови операции ролята и е да съдържа някаква стойност било то от 1 или повече битове. Зависи предимно от задачата. Ако искаш например да провериш бит-а на конкретна позиция в дадено число, си инициализираш една маска със стойност 1-ца. После изместваш тази 1-ца колкото ти трябват позиции, например 3 позиции на ляво. Като си я инициализирал в бинарен вид изглежда нещо такова "0000 0001". Като е изместиш този бит със стойност 1-ца отива 3 позиции в ляво и се получава "0000 1000". Това ти е маската. Сега е "слагаш" чрез побитов оператор върху бинарната репрезентация на числото, чиито бит искаш да намериш. Нека кажем, че имаш числото 8. В бинарен вид се представя по този начин -> "0000 1000". Сега ще направим операция & (побитов AND). В случая имаме на 3-та позиция 1 и 1, което ни връща 1-ца (1 & 1 = 1). Резултата от тази операция обикновено си го запазваме в друга променлива, и продължаваме нататък с решението. Надявам се си ме разбрал и успя да придобиеш малко по добра представа за какво служат побитовите маски. Малко се затруднявам с обясненията понякога, извинявам се за което :)

3
antonio_rtodorov avatar antonio_rtodorov 74 Точки

Здравей,

искам да те попитам, когато изместваш маската с 3 позции се получава "00001000" и когато извършиме цялата операция намираме бита на 3та позиция и мисълта ми е защо приемам, че намираме 3та позиция, а не четвърта?

Поздрави,

0
ZloboMiR avatar ZloboMiR 50 Точки

Представи си маската като сито или като лакмуса в химията. Заучи операциите, а теорията е, образно казано, че при бит "0" маската връща "синьо", а при бит "1" - червено. Тоест, сравявайки нещо неизвестно с нещо известно (маската), по резултата можем да определим неизвестното (бита). 

3
RosenPlaminovZarev avatar RosenPlaminovZarev 7 Точки

хмм..., хитро подхождаш laughing

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.