|
word [Bit 0]...[Bit 15]. Как мне из этого 2 байта сфабриковать?
|
|||
---|---|---|---|
#18+
Если вот так: Код: plaintext 1. 2. 3.
то два байта пишутся: Код: plaintext 1. 2.
либо Код: plaintext 1. 2.
А если вот так? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Меня интересует [Bit 0] : Enable high resolution yes/no [Bit 15]: Do not use ECM yes/no Код: plaintext 1. 2.
Я туплю, дайте мне формулу без объяснения что такое биты и байты. Когда-то русские смс-ки умел кодировать, а счас чего-то отупел. P.S Сорри, могу переписать этот "код" на VB, мозги плавятся не от этого. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2012, 04:47 |
|
word [Bit 0]...[Bit 15]. Как мне из этого 2 байта сфабриковать?
|
|||
---|---|---|---|
#18+
Ну, подозрение такое: high resolution (yes) = 2 ^ 0 = 1 Do not use ECM (no) = 2 ^ 15 = 32768 Тогда: 1) ECM + HI = 0+1=1 Код: plaintext 1. 2.
2) ECM + NOT(HI) =0+0=0 Код: plaintext 1. 2.
3) NOT(ECM) + NOT(HI) = 32768+0=32768 Код: plaintext 1. 2.
4) NOT(ECM) + HI = 32768+1=32769 Код: plaintext 1. 2.
Итого: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Осталось проверить теорию на практике. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2012, 05:08 |
|
word [Bit 0]...[Bit 15]. Как мне из этого 2 байта сфабриковать?
|
|||
---|---|---|---|
#18+
Ну, предыдущая теория работает. А как имея 2 байта получить bit[0] и bit[15] (обратная задача). Т.е. вычислили байтовые составляющие WORD Код: plaintext 1. 2.
Надо понять, чему равен bit[0] и bit[15]. Если предполагать, что все остальные биты нулевые, то обратная формула конечно верна. А если не нулевые (MR, MMR)? Как вычислить Код: vbnet 1.
(в общем случае когда любой бит может быть ненулевой) (Язык VB/C++ мне счас не важен, туплю с пониманием и арифметикой). ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2012, 17:38 |
|
word [Bit 0]...[Bit 15]. Как мне из этого 2 байта сфабриковать?
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4. 5.
посмотри ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2012, 17:52 |
|
word [Bit 0]...[Bit 15]. Как мне из этого 2 байта сфабриковать?
|
|||
---|---|---|---|
#18+
Konst_One, Посмотрю позже. l=x+y*256 так? А как это на C(++) записать? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2012, 17:56 |
|
word [Bit 0]...[Bit 15]. Как мне из этого 2 байта сфабриковать?
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2012, 18:13 |
|
word [Bit 0]...[Bit 15]. Как мне из этого 2 байта сфабриковать?
|
|||
---|---|---|---|
#18+
Дмитрий77l=x+y*256 так? Дык а в чем я неправ? Код: vbnet 1. 2. 3. 4. 5. 6.
На входе я всегда имею 2 байта сырой информации, а не long. Мне их надо декодировать, получив в моем случае bit[0] и bit[15] (согласно спецификации что в начале поста). Ну, вроде все работает: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
В более сложных случаях тоже: Код: vbnet 1. 2. 3. 4.
А на си так? Как там степень пишется? Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 02:14 |
|
word [Bit 0]...[Bit 15]. Как мне из этого 2 байта сфабриковать?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 07:53 |
|
word [Bit 0]...[Bit 15]. Как мне из этого 2 байта сфабриковать?
|
|||
---|---|---|---|
#18+
скукотищаВ c есть операции сдвига . ОЙ. А не можете в явном виде написать как это будет применительно к моему случаю? Sorry (что так паразитирую), да еще в в VB-ветке форума. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 17:42 |
|
word [Bit 0]...[Bit 15]. Как мне из этого 2 байта сфабриковать?
|
|||
---|---|---|---|
#18+
Дмитрий77, на c/c++ не пишу, - синтаксис/типы параметров могут быть "немного не такими". Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 19:59 |
|
word [Bit 0]...[Bit 15]. Как мне из этого 2 байта сфабриковать?
|
|||
---|---|---|---|
#18+
Здесь вполне уместен LUT (lookup table) - массив с элементами-степенями двойки. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 22:47 |
|
word [Bit 0]...[Bit 15]. Как мне из этого 2 байта сфабриковать?
|
|||
---|---|---|---|
#18+
скукотищаДмитрий77, на c/c++ не пишу, - синтаксис/типы параметров могут быть "немного не такими". Код: plaintext 1. 2. 3. 4. 5.
Да, спасибо. Смысл вашего C-варианта (как и впрочем VB-шной Private Function GetBit от Konst_One) у меня понять честно говоря мозгов не хватает, но тем не менее то что я по мотивам всего накалякал: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
выдает результаты, соответствующие тому что вижу при тестах и прочим логам. А уверены что & а не &&, в кодах чаще двойной амперсанд встречается? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2012, 04:51 |
|
word [Bit 0]...[Bit 15]. Как мне из этого 2 байта сфабриковать?
|
|||
---|---|---|---|
#18+
> Дмитрий77 > А уверены что & а не &&, в кодах чаще двойной амперсанд встречается? Уверен. Сравнение операторов в разных языках ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2012, 07:44 |
|
|
start [/forum/topic.php?fid=60&msg=37813237&tid=2157748]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 148ms |
0 / 0 |