| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > записать в 1-й бит 1-го байта значение 1? |
| Автор: JS2 9.2.2010, 15:13 | ||
имеется переменная типа запись
Как записать в 1-й бит 1-го байта значение 1? |
| Автор: Frees 9.2.2010, 15:29 | ||
как то так
|
| Автор: JS2 9.2.2010, 15:33 |
| а почему 128 |
| Автор: Frees 9.2.2010, 15:46 |
это 10000000 в bin тебе надо первый бит сделать единицей остальные будут неизменны |
| Автор: kami 9.2.2010, 15:48 |
Да, почему? Ведь первый бит первого байта =2 (если считать правильно, с нуля). В первый байт Offset, Length или чего? |
| Автор: Frees 9.2.2010, 15:51 |
ага точно тогда 64 |
| Автор: kami 9.2.2010, 15:58 |
Почему 64? 128 - это седьмой бит, установленный в единицу. 64 - шестой 32 - пятый 16 - четвертый 8 - третий 4 - второй 2 - первый 1 - нулевой. И устанавливается (myValue:integer) myValue:=myValue or 2, не нужно никаких Move... |
| Автор: kami 9.2.2010, 16:17 |
биты в байте нумеруются справа налево. Это же касается и байтов в словах. http://www.podgoretsky.com/ftp/Docs/Asm/AsmBradly/2/2-8.html |
| Автор: Mikel 9.2.2010, 16:26 | ||
Наверное что-то типа этого, проверьте, писал без компилятора. n- номер бита.
|
| Автор: profesiachuvak 9.2.2010, 18:32 | ||
Я тоже поддакнуть хочу: kami, прав. Вот эта запись 10000000 говорит о том что у нас 7-ой бит. 2^7 = 128. Нужно вот так: 00000001 вот это уже 2^0=1 нулевой Ну а первый соответсвенно 2^1 (0000010). |