Loading...
melda.h avatar melda.h 4 Точки

Задача за побитови операции

Здравейте! Искам да попитам дали е възможно от двоичното представяне на 23, което се представя като 10111 в двоична бройна система с 101 (5 в десетична бройна система) да получа числото 10101? С побитово & което и да е число се получава пак 5. Въпроса ми е как да премахме нулите отпред, които само запълват даеното число.

0
Programming Basics
ad2bg avatar ad2bg 123 Точки

По принцип водещите нули не променят никое число и не е ясно защо ти е необходимо да ги "премахваш". Може би не желаеш някакъв алгоритъм да се изпълнява върху тях?  Обясни крайната си цел. Ако искаш пиши ми ЛС на FB или се обади по скайпа. Що се отнася до посочените числа - не виждам да се връзват по никакъв начин. 

0
melda.h avatar melda.h 4 Точки

Може би аз не съм обяснила точно какъв е проблема. Взимам произволно число от тип unsigned long и когато му приложа побитово & с другото число, което трябва да си състои от редуващи се 0 и 1 в двоичен запис (1010, 101, 10101, 101010, 1010101) винаги получавам второто число. Например:

10111           100111100      10101111
&                  &                     &
00101           000101000     00001010

00101           000101000     00001010
Тоест заради нулите отпред на втотото число, старшите битове на първото се зануляват и в крайна сметка пак получавам второто число. Как да направя така че нулите отпред да не включват?

Надявам се този път да съм разбрана.

0
koksibg avatar koksibg 892 Точки

Да видим така дали ще го разбереш:

    10111 & 00101 = 23 * 5 = 115   

=                               
        10111 = 10111 & 1
+                              
      00000  = 10111 & 0 
+                                  
     10111   = 10111 & 1 

 

=   1110011 = 115
 

0
08/11/2017 13:04:31
ad2bg avatar ad2bg 123 Точки

А, ясно, разбрахме се :)

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