Главная страница
    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.56 MB
Время: 0.005 c
15-1277320579
TStas
2010-06-23 23:16
2010.09.19
Можно ли выходить в интернет с двух компов?


2-1277368711
LDV
2010-06-24 12:38
2010.09.19
кодировка


2-1277122422
nobody
2010-06-21 16:13
2010.09.19
Выполнение запросов в потоке, с использованием DOA


15-1277560566
Typer
2010-06-26 17:56
2010.09.19
Как выделить все ветки созданные одним автором??


15-1276971762
sniknik
2010-06-19 22:22
2010.09.19
Перехват ссылки в TWebBrowser.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский