Отговори на тема  [ 7 мнения ] 
NCD оператор 
Автор Съобщение
Ранг: Ориентиран
Ранг: Ориентиран
Аватар

Регистриран на: Съб Фев 05, 2005 10:58 pm
Мнения: 284
Местоположение: Varna
Мнение NCD оператор
В PicBasic-a има оператор NCD, който не откривам в другите езици :? . Връща поредния номер на най-старшата единица (от 1 до 16), например:
B0 = NCD %01001000 ' Sets B0 to 7
Някой да има идея как може това да се реализира по друг начин без тоя оператор :?:

_________________
Господ прощава, тока не. А глада е по силен от тока !


Пет Дек 30, 2011 1:01 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: NCD оператор
цикъл shift на ляво докато се появи 1-ца и изваждаш от 8 броя на итерациите в цикъла.

_________________
Warriors of the Night, ASSEMBLER!!!


Пет Дек 30, 2011 1:05 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юни 10, 2007 2:22 pm
Мнения: 6492
Местоположение: София
Мнение Re: NCD оператор
В power:
cntlz rA,rB (count leading zeroes, source, destination - ),
в coldfire е пак нещо такова ама source/destination беше май все един регистър
задължително,
в 68020 до 060 беше

BFFF1 (или нещо подобно, bitfield find first one).

Основен оператор, без него сума основни неща отиват на кино като скорост.

Предполагам не питаш точно за тия му варианти де :D :D :D :D .

_________________
-------------------
www.tgi-sci.com
-------------------
http://www.flickr.com/photos/didi_tgi/


Пет Дек 30, 2011 1:09 pm
Профил WWW
Ранг: Ориентиран
Ранг: Ориентиран
Аватар

Регистриран на: Съб Фев 05, 2005 10:58 pm
Мнения: 284
Местоположение: Varna
Мнение Re: NCD оператор
Цитат:
цикъл shift на ляво докато се появи 1-ца и изваждаш от 8 броя на итерациите в цикъла.

Не става. Търсим най старшата единица, а не първата която се появи.

_________________
Господ прощава, тока не. А глада е по силен от тока !


Пет Дек 30, 2011 1:35 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Юли 11, 2007 10:16 am
Мнения: 1730
Мнение Re: NCD оператор
Точно както IKE ти го е написал.
Да не бъркаш ротацията на ляво с тази на дясно?
Ползвай RLF, следи Carry-то.


Пет Дек 30, 2011 1:43 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение Re: NCD оператор
Е каква е разликата между най-старшата и първата която се появи в бит 7 при шифт лефт?

нещо от сорта:

while b7=0
byte<<1
count+1
end while

rezult=8-count

грубо написано на неизвестен език :)


Пет Дек 30, 2011 1:46 pm
Профил ICQ
Ранг: Ориентиран
Ранг: Ориентиран
Аватар

Регистриран на: Съб Фев 05, 2005 10:58 pm
Мнения: 284
Местоположение: Varna
Мнение Re: NCD оператор
Да де, грешката е моя - чета ляво, пък мисля за дясно ... явно вече е време за отпуск :)
Благодаря за помощта, ще го пробвам.
Весела нова година на всички Изображение

_________________
Господ прощава, тока не. А глада е по силен от тока !


Пет Дек 30, 2011 10:03 pm
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 7 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни