![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Scorp_Freeman |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Значит есть b:byte;
Как установить n-й бит в значение х ? Либо какими командами ассемблера это можно сделать ? asm ??? ??? end; |
![]() ![]() |
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
asm asm смотря чему равен х... то есть, например, 110 and 011 даст 010 (установили первый бит в 0) 001 or 101 даст 101 (установили первый в 1) -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
hardcase |
![]()
Сообщение
#3
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: ![]() ![]() ![]() |
-------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
Scorp_Freeman |
![]()
Сообщение
#4
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Цитата смотря чему равен х... чему он будет равняться я не знаю, он будет постоянно меняться, а также номер бита который надо будет устанавливать также будет меняться. Мне нужно будет в байт к примеру ???????? на место второго бита поставить сооветствующий бит другого байта 000000?0. Если бы у меня второй байт был 111111?1 я бы просто использовал AND ( |
hardcase |
![]()
Сообщение
#5
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: ![]() ![]() ![]() |
чему он будет равняться я не знаю, он будет постоянно меняться, а также номер бита который надо будет устанавливать также будет меняться. Мне нужно будет в байт к примеру ???????? на место второго бита поставить сооветствующий бит другого байта 000000?0. Если бы у меня второй байт был 111111?1 я бы просто использовал AND ( b1 := b1 or (b2 and (1 shl n)) добавил: у меня биты нумеруются с нуля. Сообщение отредактировано: hardcase - 13.04.2007 18:58 -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
Scorp_Freeman |
![]()
Сообщение
#6
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Цитата Как установить n-й бит в значение х ? Извените, я кажется ошибся в формулировке вопроса) "Установить" не в смысле записать 1 а поместить туда значение бита(0 либо 1) |
hardcase |
![]()
Сообщение
#7
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: ![]() ![]() ![]() |
Извените, я кажется ошибся в формулировке вопроса) "Установить" не в смысле записать 1 а поместить туда значение бита(0 либо 1) Однако переклинило...... mask := (1 shl n); bit := (b2 and mask); if( boolean(bit) ) then b1 := b1 or mask; else b1 := b1 and not mask; Сообщение отредактировано: hardcase - 13.04.2007 19:09 -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
hiv |
![]()
Сообщение
#8
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
у меня биты нумеруются с нуля. И у меня с нуля ![]() procedure changebit(var x:byte;n:byte;bit:byte); x - исходная переменная n - номер бита bit - во что устанавливаем 0 / 1 -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
Scorp_Freeman |
![]()
Сообщение
#9
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
|
мисс_граффити |
![]()
Сообщение
#10
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
сорри... не удержалась.
bit:byte ![]() -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
hardcase |
![]()
Сообщение
#11
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: ![]() ![]() ![]() |
Нда пока редактил решение, тут уже всё ответили =))
-------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
Scorp_Freeman |
![]()
Сообщение
#12
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
спасибо !!!
![]() |
![]() ![]() |
![]() |
Текстовая версия | 8.07.2025 3:35 |