![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Извлечь значение
Dmitry1987 © (2008-06-18 16:49:00)Как из 31-битного числа извлечь значение его старшего (31) бита
Anatoly Podgoretsky (2008-06-18 22:57:00) [1]> Palladin (18.06.2008 22:31:21) [21]
Был такой хитрый Cardinal - Борланд не справился и сделал хитрую позу, мол у нас Cardinal 31 бит, я уже не помню в какой версии они справились и появился нормальный в 32 бита, после ни разу не вспоминали про свое чудо программисткой мысли. По этой же причине у них нет фундаментального dWord - этот тоже был разным в разных версиях, им пришлось придумываеть новое название и получилось не как у людей - байт, ворд, дворд
korneley (2008-06-18 22:53:00) [2]
> Anatoly Podgoretsky © (18.06.08 17:02) [4]
> А ты не смейся,
> были же у Борланда 31 бит Cardinal и ничего, как то жили,
> матюгались правда сильно и горькую пили.
Поддержу Palladin-а, не припомню че-то такого, проясните, если не в лом :)))
Anatoly Podgoretsky (2008-06-18 22:40:00) [3]> korneley (18.06.2008 22:17:20) [20]
Вообще то я на ГАИ намекал. Сейчас там отмалчивается.
Palladin (2008-06-18 22:31:00) [4]А кстати, прошу просчения, что перебиваю. Анатоль, а чего там за история про 31битный Cardinal?
korneley (2008-06-18 22:17:00) [5]
> Anatoly Podgoretsky © (18.06.08 22:13) [19]
> ....Сообственно автор исчез, наверно неправильно
> улицу переходил.
Ну, дык, не всё же, автомобилям только воздух загрязнять. Пусть поработают на общество...
Anatoly Podgoretsky (2008-06-18 22:13:00) [6]
> А так глубоко - "пощупал бит, положи на место" я не рыл
> ;))
А зря.
Сообственно автор исчез, наверно неправильно улицу переходил.
Вопрос как пощапать так и остался подвешеным.
Amoeba (2008-06-18 21:47:00) [7]Добавлю свои 5 копеек (ф-ия из QStrings):
function Q_BitTest(P: Pointer; Index: Integer): Boolean;
asm
BT [EAX],EDX
SETC AL
end;
korneley (2008-06-18 21:08:00) [8]
> Anatoly Podgoretsky © (18.06.08 20:51) [14]
> > korneley (18.06.2008 19:46:12) [12]Второе, для этого
> достаточно перечитать вопрос.Но вот что значит "Извлечь
> значение" там нет
Хм... Телепаторы разной системы :)) Я-то как раз "извлечь", понял как узнать состояние бита 0/1, а вот со "старшим" и 31-м заминочка вышла (по этому и два варианта) :))
MBo (2008-06-18 20:54:00) [9]>А ты не понял на что он намекает SHL (SHR) бит то надо восстановить.
Не, я про сдвиг не в ту сторону только намекал
А так глубоко - "пощупал бит, положи на место" я не рыл ;))
Anatoly Podgoretsky (2008-06-18 20:52:00) [10]> Palladin (18.06.2008 19:59:13) [13]
Тоже странно, ведь это даже Борланду удавалось с трудом.
Anatoly Podgoretsky (2008-06-18 20:51:00) [11]> korneley (18.06.2008 19:46:12) [12]
Второе, для этого достаточно перечитать вопрос.
Но вот что значит "Извлечь значение" там нет
Palladin (2008-06-18 19:59:00) [12]Не, ну конечно Palladin, цитированный наклонно, это совсем не тот Palladin, что не склонён :)
Упаси боже, я не смеюсь конечно, просто улыбаюсь парадоксу, :) человек играючи обрабатывающий 31-битовые значения - затрудняется получить состояние 31ого старшего бита.
"О Боже мой" (C) Пипин в интерпретации Гоблина
korneley (2008-06-18 19:46:00) [13]
(X and $80000000) <> 0Хотя, что автор считает 31-м разрядом - непонятно, может и $40000000, на что сгодится :)
Anatoly Podgoretsky (2008-06-18 18:51:00) [14]> Ega23 (18.06.2008 17:15:09) [9]
А ты не понял на что он намекает SHL (SHR) бит то надо восстановить.
Правильный-Вася (2008-06-18 17:41:00) [15]
> 31-битного числа
а если ему хватает 5 бит? какое же оно 31-битное?
Ega23 (2008-06-18 17:15:00) [16]Тьфу-ты, конечно shr.
Очепятка.
MBo (2008-06-18 17:11:00) [17]>Это ты намекаешь Ega23?
Угу
Anatoly Podgoretsky (2008-06-18 17:04:00) [18]> MBo (18.06.2008 17:03:05) [5]
Это ты намекаешь Ega23?
Anatoly Podgoretsky (2008-06-18 17:03:00) [19]> Ega23 (18.06.2008 17:00:03) [3]
А ты уверен, что ему нужно именно в этом виде?
Может ему за это двойку поставят.
MBo (2008-06-18 17:03:00) [20]X shr 31