Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.09.19;
Скачать: [xml.tar.bz2];

Вниз

asm вставка ByteToBin и BinToByte   Найти похожие ветки 

 
Amoeba_   (2010-06-21 14:54) [40]


> [true]TRIx ©   (21.06.10 14:30) [37]
>
> вопрос всеж один. asm вставка ByteToBin и BinToByte или
> приведите самый удачный код в плане скорости перевода. Как
> в Bin так и обратно. Полемика не требуется.

Впрямь "Сага о Х, Y и Z..."
http://www.gunsmoker.ru/2008/10/x-y-z.html


 
Плохиш ©   (2010-06-21 14:59) [41]


> [true]TRIx ©   (21.06.10 14:45) [39]
>
> Плохиш, действительно, просвети нас своим вариантом по вопросу.

Я задачи высосаные из пальца решаю только после бутылки хорошего виски. Так что несите.


 
Sha ©   (2010-06-21 15:00) [42]

> true]TRIx ©   (21.06.10 14:30) [37]

1. если так, то мой вариант перевода в строку приведен в [5]
2. перевод из строки можно сильно ускорить,
если работать не со строками, а с записями,
содержащими оба представления.

Реализовывать придется самостоятельно, предложение [34] больше не действует.


 
Alx2 ©   (2010-06-21 15:03) [43]

Вот так вота... зажмотил задачку, теперь все обиделись.. :)


 
Anatoly Podgoretsky ©   (2010-06-21 15:07) [44]

> Плохиш  (21.06.2010 14:59:41)  [41]

А одной бутылки то хватит?


 
Alien1769 ©   (2010-06-21 15:15) [45]

>брюква

Покажи цикл обработки битов, если не секрет :)

Или ответь: с какого бита он у тебя начинается...


 
Плохиш ©   (2010-06-21 15:22) [46]


> Anatoly Podgoretsky ©   (21.06.10 15:07) [44]
>
> > Плохиш  (21.06.2010 14:59:41)  [41]
>
> А одной бутылки то хватит?

Хорошего хватит :-)


 
Юрий Зотов ©   (2010-06-21 15:50) [47]

Бесполезно, а потому бессмысленно...


 
[true]TRIx ©   (2010-06-21 15:55) [48]

function ByteToBin(Numer: byte): string; assembler;
asm
cld
mov   al,8
les   di,@Result
stosb
mov   cx,8
mov   bl,Numer
@@m1:
mov   al,"0"
shl   bl,1
adc   al,0
stosb
loop  @@m1
end;


а теперь сравнимаем по скорострельности :)


 
Anatoly Podgoretsky ©   (2010-06-21 16:04) [49]

> Плохиш  (21.06.2010 15:22:46)  [46]

А бутылок должен быть байт.


 
Плохиш ©   (2010-06-21 16:12) [50]


> Anatoly Podgoretsky ©   (21.06.10 16:04) [49]

Я добрый, его разорять не буду :-)


 
Anatoly Podgoretsky ©   (2010-06-21 16:22) [51]

> Плохиш  (21.06.2010 16:12:50)  [50]

Еще бы 8 BITылок


 
[true]TRIx ©   (2010-06-21 16:41) [52]

Удалено модератором


 
Игорь Шевченко ©   (2010-06-21 16:52) [53]

[true]TRIx ©   (21.06.10 15:55) [48]


> а теперь сравнимаем по скорострельности :)


Для байта это не скорострельная операция, для байта скорострельная через таблицу


 
[true]TRIx ©   (2010-06-21 16:54) [54]

Игорь Шевченко ооокееей. Реализация твоей скорострельной функции ByteToBin и BinToByte


 
Игорь Шевченко ©   (2010-06-21 16:54) [55]

[true]TRIx ©   (21.06.10 16:54) [54]


> Реализация твоей скорострельной функции ByteToBin и BinToByte


Сумма не озвучена


 
12 ©   (2010-06-21 17:44) [56]


> Реализация твоей скорострельной функции ByteToBin и BinToByte

procedure TForm1.Button1Click(Sender: TObject);
const
 A : array [0..1] of string[8] =
("00000000","00000001");
begin
 ShowMessage(A[1]);
end;


 
[true]TRIx ©   (2010-06-21 18:07) [57]

12, что за люд пошел. лишь бы присунуть что-то.. анархия, полнейшая.


 
KilkennyCat ©   (2010-06-22 00:29) [58]

case byte of
 0 : string := "00000000";
...
 255 : string := "11111111"
else
 string := "офигеть"
end;

всего ровно 260 строчек


 
Германн ©   (2010-06-22 03:07) [59]

Чушь!


 
12 ©   (2010-06-22 08:25) [60]


> [true]TRIx ©   (21.06.10 18:07) [57]
>
> 12, что за люд пошел. лишь бы присунуть что-то.. анархия,
>  полнейшая.
>

а ты бы хотел, чтоб все 256 значений были?
а вот ты их допиши, и посмотри скорострельность


 
Anatoly Podgoretsky ©   (2010-06-22 08:54) [61]

> KilkennyCat  (22.06.2010 00:29:58)  [58]

Переменное время исполнения, коду 255 очень не повезло.


 
KilkennyCat ©   (2010-06-22 10:37) [62]


> Anatoly Podgoretsky ©   (22.06.10 08:54) [61]

кому-то всегда не везет...
надо же, за всю жизнь только щас озадачился: а как case компилируется, как я его напишу, или сортирует по возрастанию?


 
Sha ©   (2010-06-22 10:44) [63]

> KilkennyCat ©   (22.06.10 10:37) [62]

case в дерево проверок компилируется, весьма эффективно.
Но таблица в данном случае лучше.


 
KilkennyCat ©   (2010-06-22 11:59) [64]


> Sha ©   (22.06.10 10:44) [63]

ага, спасибо. разумеется, таблица лучше, предложение с case - шутка :)
Однако, раньше я слышал, что case - неэффективный... что, впрочем, совершенно меня не останавливало его использовать, ибо очень мне нравится в логичности и читабельности.


 
Anatoly Podgoretsky ©   (2010-06-22 12:30) [65]

> KilkennyCat  (22.06.2010 10:37:02)  [62]

САSE особая форма IF и проверяется последовательно как и IF
Никаких сортировок не делается. По поводу оптимизации сказать труднее.
Справку по case сильно сократили в Дельфи.


 
Игорь Шевченко ©   (2010-06-22 14:30) [66]


> САSE особая форма IF и проверяется последовательно как и
> IF


не всегда особая форма IF и не всегда проверяется последовательно, как IF, в зависимости от значений вариантов может быть оптимизирован в таблицу переходов



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2010.09.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.006 c
2-1277699293
linuxoid
2010-06-28 08:28
2010.09.19
treeview & memo


2-1277184716
Miko
2010-06-22 09:31
2010.09.19
Не найдена точка входа процедуры в DLL


15-1277349628
ixen
2010-06-24 07:20
2010.09.19
Не запускается программа. В чем может быть причина?


2-1277224941
Сергей
2010-06-22 20:42
2010.09.19
Пропуск строки при сохранении в ini


15-1276780683
shaman
2010-06-17 17:18
2010.09.19
объектно-ориентированное програмирование





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский