Форум: "Прочее";
Текущий архив: 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