Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.09.19;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.59 MB
Время: 0.015 c
15-1275517571
RGV
2010-06-03 02:26
2010.09.19
Простенький Video stream сервер


2-1277704401
И. Павел
2010-06-28 09:53
2010.09.19
Общий обработчик ошибок, завершающий программу.


15-1277627654
turbouser
2010-06-27 12:34
2010.09.19
Рассудите


2-1277317567
lihoy_p5
2010-06-23 22:26
2010.09.19
загрузка следующего изображения


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