|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
Результаты опроса: ? | |||
+ | 3 | 100.00% | |
++ | 0 | 0% | |
Голосовавшие: 3. Вы еще не голосовали в этом опросе |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
народ помощь нужна (
необходимо сделать прогу для реализации двоичного дешифратора. Плиз если кто может помочь - посодействуйте.
|
#2
|
||||
|
||||
Цитата:
|
#3
|
|||
|
|||
ну есть такой прибор - дешифратор. Мне нужен именно двоичный. Т.е. на делфи прога которая будет реализовывать его работу. Описать работу Д. долго, проще прочитать тут : http://www.studfiles.ru/dir/cat32/su...view92315.html если конечно не сочтете за наглость с моей стороны ... там пара обзацев ...
|
#4
|
||||
|
||||
Цитата:
|
#5
|
|||
|
|||
Господя!!!
Код:
function Deshifr(AIn : Byte) : DWORD; begin If AIn > 63 Then Raise Exception.Create('Sorry, overflow...'); Result := 1 shl AIn; end; пример простейший. Опять-же, не зыбывай, что разряды считаются справа на лево (это если тебя смутит картинка в статье - там Zi в обратном полядке - первым идет младший разряд). Условие в функции сделано потому, что DWORD - 64 бита, т.е. в простейшем варианте можно сделать только для 7 входных бит. Если нужно больше, то уже надо изобретать велосипед со сложными длинными типами. |
#6
|
|||
|
|||
Цитата:
Последний раз редактировалось @_L_E_X, 22.11.2011 в 18:50. |
#7
|
||||
|
||||
Цитата:
байт = 8 бит слово (word) = 2 байта = 16 бит 2 слова (Double word = DWORD) = 4 байта = 32 бит 4 слова (Quad word = QWORD) = 8 байт = 64 бит Ты что-то перепутал? Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj Последний раз редактировалось PhoeniX, 22.11.2011 в 19:38. |
#8
|
|||
|
|||
Да, сорри, описался. Использовать либо QWORD, либо Int64.
|
#9
|
|||
|
|||
Цитата:
Ну ты бы хоть описание ее привел (или ссылку на описание). Никто ж на вскидку не знает как она работает. А прямой поиск только продавцов дает. Опять же, все за тебя никто тут делвть не будет. Для этого есть раздел "Работа". |
#10
|
|||
|
|||
вот нашел, правда для 531 серии:
Цитата:
Последний раз редактировалось lmikle, 22.11.2011 в 22:21. |
#11
|
|||
|
|||
Итого, есть функция, которая имеет 3 входа и 4 выхода. в соотв. с описанием выще оно будет выглядеть примерно так:
Код:
type TBit = 0..1; procedure TForm1.K531ID14(AIn0, AIn1, AStrob : TBit; var AOut0, AOut1, AOut2, AOut3 : TBit); var AIn : Byte; begin AOut0 := 1; AOut1 := 1; AOut2 := 1; AOut3 := 1; If AStrob = 0 Then Begin AIn := (AIn1 Shl 1) + AIn0; Case AIn Of 0 : AOut0 := 0; 1 : AOut1 := 0; 2 : AOut2 := 0; 3 : AOut3 := 0; End; End end; procedure TForm1.Button1Click(Sender: TObject); var A1, A2, A3, A4 : TBit; begin K531ID14(1,1,0,A1,A2,A3,A4); ShowMessage(Format('%d %d %d %d',[A4,A3,A2,A1])) end; Написано по простому, что бы было понятно, что делается. Плюс пример вызова. За полной программой - wellcome to "Работа". |
#12
|
|||
|
|||
большое спасибо, токо разъясните плиз что значит "welcom to работа" ?
|
#13
|
|||
|
|||
Цитата:
Это значит, что за тебя бесплатно никто писать всю программу не будет, бо как это просто не интересно. Тебе дали имплементацию собственно логики, т.к. это было немного интересно разобраться и сделать (хотя я бы сделал немного подругому, если бы делал для себя). Дальше либо делаешь интерфейс сам, либо платишь деньги и получаешь готовое решение. |
#14
|
|||
|
|||
понятно... а сколько стоит примерно такая прога ? )))
|
#15
|
|||
|
|||
все зависит от того, что конкретно надо. Соответсвенно, разговор более серьезный. Я готов взяться, если интересно - пиши в приват, обсудим.
|