Loading...
Anjela_Aleksandrova avatar Anjela_Aleksandrova 71 Точки

Побитови задачи.

Здравейте,

Искам да помоля някой, ако знае някакви по-лесни начини за решаване на побитовите задачи или пък се сеща за някое видео от лекциите, в които се решават по-просто, да сподели.Мерси! smiley

2
Programming Basics
Ivanov.Ivan avatar Ivanov.Ivan Trainer 558 Точки

Здравей,

По - лесния начин е със "стрингосване", или по - точно да се използва StringBuilder. Тъй като String е по - бавен. Всеки път когато инициализираш някой String конструктора му вика StringBuilder. Може да погледнеш някоя от подготовките за изпити, там някой от лекторите показват и решение със стрингосване. Ако си в бейсик нивото може да хванеш някой от тези които са по - напред да ти покажат кое как работи. 

Надявам се да съм те насочил. 

Успех

1
bacuty avatar bacuty 55 Точки

Между другото, това не винаги гарантира покриване на всички тестове.

Самите операции с битове са сведени до 3-4 основни сценария, които в тесния смисъл се отнасят до битовете,ако имаш проблем с конкретна задача, пиши на скайп,ако мога ще помогна :)

0
14/03/2016 23:09:13
ArmenPotourlyan+deleted! avatar ArmenPotourlyan+deleted! 488 Точки

Бих искал да използвам темата, за да задам следния въпрос:

Ще има ли задачи с битови операции на изпита?

На презентацията от 11.03.2016, с която се откри втората част на началния курс Programing Basics Януари 2016, има слайд за изпитните задачи:

5 practical problems for 6 hours

  • Simple calculations + simple logic
  • Loops + simple logic
  • Drawing figures at the console (loops)
  • Arrays – processing sequential data
  • Matrices – processing table data

Правилно ли правя извода, че няма да има задачи с битови операции? (Или поне не във формата, която присъстваха в предишните инстанции на изпита...)

1
14/03/2016 20:01:09
Ivanov.Ivan avatar Ivanov.Ivan Trainer 558 Точки

До колкото съм запознат ... няма да има. Битовете за изместени малко по - напред, но няма да минете без тях. Може да ги нямате на изпит, но със сигурност ще минете през темата :)

1
S.Asenov avatar S.Asenov 35 Точки

Решават се по-лесно с масиви. Едномерни или двумерни според условието на задачата. Честно казано не съм убеден, че винаги е по-лесно, но поне аз така ги решавах, когато се упражнявах за изпита след бейсик нивото. Така реших и 5-а задача на изпита. 

1
g.stoyanov avatar g.stoyanov 776 Точки

Само да добавя, че за мен, такова чудо като побитови задачи няма. Това са най-обикновенни задачи които по природа/най-ефикасен начин/лесно/бързо се решават с побитови операции. Просто човек трябва да ги разбере за да може да знае кога да ги прилага и как. Като за начало бих препоръчал много добре да се научат и най-вече разберат побитовите операции |, & и т.н., като се учат върху най-прости числа или по-точно приложението им върху 1 бит т.е. 1 или 0. След което може да почнем да изпробваме върху по големи числа - с повече битове. Иначе материали има в изобилие но без основите са безмислени.

П.С.: Ако има някоя задача която се чудиш как се разбира, че може да се реши чрез побитови операции, или как се решава, постни я тук и ще се опитаме да ти обясним някои принципи и методи. 

4
14/03/2016 21:04:42
Bobosam avatar Bobosam 185 Точки

Колегата е прав. Решаваш няколко задачи. Разбираш за какво иде реч. Правиш си библиотека от основните операции и ползвайки я решаваш всички побитови задачи за отрицателно време.

Успех.

-1
Filkolev avatar Filkolev 4482 Точки

Подкрепям мнението, че задачите с битове са най-обикновени задачи. При това самите битови операции са много малка и нерядко незначителна част от решението (два-три тривиални реда). Основната трудност е съставянето на алгоритъм, оттам нататък дали ще се ползват масиви от символи, матрици или битови операции не е кой знае колко съществено. 

Скоро обсъждахме битовите операции с менторската ми група. Нахвърлих тези записки, които обобщават най-важните неща, може да са полезни. Има разбира се и много онлайн източници с различни "хакове".

3
r3v3nan7 avatar r3v3nan7 365 Точки

Здравей :) Един колега е направил нещо като cheet sheets за побитови операции. Нямам представа дали би ти помогнало, но за всеки случай ще ти дам линк

https://github.com/BogomilDimitrov/CSharpBasicsOct2014/blob/master/Online_ExamPreparation/BitWiseOperations-Cheatsheet.txt

Искрено се надявам да имаш полза от него, ако ли не се извинявам, че поста ми не е на място.

1
r3v3nan7 avatar r3v3nan7 365 Точки

Благодаря на колегата за отрицателния глас... ти се опитваш да помогнеш , а после получаваш минуси... супер.

Поне този , който ми даде thumbs down нека ми каже поне защо ? Поста ми ли не беше по темата, не е това което се иска ли ? , 

не съм сложил нещо свързано с побитовите операции или поне някакъв feedback , за да знам какво съм объркал толкова. 

Много е лесно просто да цъкнеш минус.

1
Ivanov.Ivan avatar Ivanov.Ivan Trainer 558 Точки

Примери се, че има всякакви хора ....

Оправил съм ти минусчето .... поне да си на 0 :D

Успех

0
r3v3nan7 avatar r3v3nan7 365 Точки

Благодаря ти колега :) Не исках да измествам темата , но просто не разбирам и не намирах логика и затова исках да попитам какво се случва ? 

Не ми пука колко точки ще имам или за самите точки. Просто не разбирам защо когато отделиш от времето си и се опиташ да помогнеш , получаваш "-" и за това реших да попитам. В никакъв случай не искам да измествам темата 

и благодаря ти за отговора. :) Поздрави и успех

0
bond4o avatar bond4o 8 Точки

n = n & (~(1 << pos)) | (mask << pos);     //заменяне на бит с неизвестна маска
n = n ^ (1 << pos);     // обръща бит-а на дадена позиция (0 -> 1 или 1 -> 0)
n = n & ~(1 << pos);     // прави бит-а 0-ла
n = n | (1 << pos);     // прави бит-а 1-ца

0
bacuty avatar bacuty 55 Точки

Не е лошо, ама мен ако питаш , по-добре е да разбереш какво се случва на всяка стъпка, отколкото да си хардкоднеш такива неща в главата :)

0
r3v3nan7 avatar r3v3nan7 365 Точки

Мисля че намерих нещо подходящо. Стъпка по стъка колегата описва как се случват нещата. Надявам се да ти помогне

https://telerikacademy.com/Forum/Questions/6685/%D0%9F%D0%BE%D0%B1%D0%B8%D1%82%D0%BE%D0%B2%D0%B8-%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8

2
kaloyannikov avatar kaloyannikov 531 Точки

добре е в началото , а и след това да си ги разпишеш на хартия и ще ти се разяснят в пъти повече. ;)

0
borislav9212 avatar borislav9212 745 Точки

Колега, r3v3nan7, има ги всякакви не им се ядосвай. На мен също така ми дават минуси - без повод. Аз намирам инфото от теб, че е много полезно и си е точно по темата. Увеличих ти точките с 3. Благодаря за информацията.

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