|
|
|
Битовые значения.
|
|||
|---|---|---|---|
|
#18+
Использую Delphi XE2 Подскажите как правильно получить десятичное число из битового поля. Есть битовое поле, 32 бита. Десятичное число в нем - 661662 Побитно выглядит так (с 31 по 0 бит): 0000 0000 0000 1010 0001 1000 1001 1110 В этом числе хранится побитно 3 значения: 1. Дата - первые 16 бит (0-15): 0001 1000 1001 1110 2. Код специалиста - следующие 8 бит (16-23): 0000 1010 3. Признак расчета - 24 бит, сейчас установлен 0. Кручу я разные методы смещений, получения значений и что-то не получается. Покажите пожалуйста на примере: var data,spec,calc,val:integer; val:=661662; data:= получить из val биты с 0 по 15 data:= получить из val биты с 16 по 23 data:= получить из val бит 24 Как такое можно сделать. Ну никак лыжи не хотят ехать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2018, 12:28 |
|
||
|
Битовые значения.
|
|||
|---|---|---|---|
|
#18+
akrush, неточность: data:= получить из val биты с 0 по 15 spec:= получить из val биты с 16 по 23 calc:= получить из val бит 24 в итоге хотелось бы получить: data=6302 spec=10 calc=0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2018, 12:30 |
|
||
|
Битовые значения.
|
|||
|---|---|---|---|
|
#18+
На здоровье. :) Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2018, 12:34 |
|
||
|
Битовые значения.
|
|||
|---|---|---|---|
|
#18+
wadman, и что дальше? :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2018, 12:41 |
|
||
|
Битовые значения.
|
|||
|---|---|---|---|
|
#18+
akrush, приведение типов... TIntegerRec(myVal) и смотри, что там. Либо вводишь в калькуляторе нужную единичку в двоичном формате, переключаешься в десятичный и получившееся число заносишь в константу. Затем по and с этим числом смотришь на результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2018, 12:50 |
|
||
|
Битовые значения.
|
|||
|---|---|---|---|
|
#18+
akrush, Если ничего не напутал с битами, то примерно так. Через битовые маски. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2018, 13:12 |
|
||
|
Битовые значения.
|
|||
|---|---|---|---|
|
#18+
А чего не через массив байт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2018, 13:45 |
|
||
|
Битовые значения.
|
|||
|---|---|---|---|
|
#18+
rgreat, Назачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2018, 14:05 |
|
||
|
Битовые значения.
|
|||
|---|---|---|---|
|
#18+
DarkMasterakrush, Если ничего не напутал с битами, то примерно так. Через битовые маски. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. Таки напутал. Должны быть маски $07FFF0000 и $80000000 для кода и признака. Исправлюсь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2018, 14:08 |
|
||
|
Битовые значения.
|
|||
|---|---|---|---|
|
#18+
akrushПодскажите какой запрос нужно выполнить во время подключения к Export.fdb чтобы перетянуть все данные из одной БД в другую. Это 2 разных подключения, одним запросом не получится. П.С. Так и нужно было называть тему "Все вопросы от меня в одной теме [+]". :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2018, 10:53 |
|
||
|
Битовые значения.
|
|||
|---|---|---|---|
|
#18+
10.05.2018 10:53, wadman пишет: > Это 2 разных подключения, одним запросом не получится. отнюдь. но всё зависит от. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2018, 11:13 |
|
||
|
Битовые значения.
|
|||
|---|---|---|---|
|
#18+
wadman, EXECUTE STATEMENT ... ON EXTERNAL ... - все в одном можно выкрутить. Начиная с ФБ 2.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2018, 11:24 |
|
||
|
Битовые значения.
|
|||
|---|---|---|---|
|
#18+
akrush, Path_to_Intalled_FB_Server\doc\sql.extensions\README.execute_statement2.txt ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2018, 11:27 |
|
||
|
Битовые значения.
|
|||
|---|---|---|---|
|
#18+
akrushИспользую Delphi XE2 Подскажите как правильно получить десятичное число из битового поля. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. С уважением, Polesov. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2018, 22:30 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39641948&tid=2040909]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
180ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 213ms |
| total: | 494ms |

| 0 / 0 |
