|
Как из Байта получить восемь значений 0 и 1, CodeVision AVR |
|
|
|
 |
Ответов
|
Dec 25 2008, 17:23
|

Участник

Группа: Свой
Сообщений: 68
Регистрация: 11-12-08
Из: Республика Беларусь, г.Минск
Пользователь №: 42 380

|
Цитата(xemul @ Dec 25 2008, 17:13)  Странно, что еще до интегралов не добрались... Код #define BIT 1 /* задаем нужный номер пина (0...7) */ for (unsigned char bitmask = 1; bitmask; bitmask <<= 1) { (byte & bitmask)? PORTW |= (1<<BIT): PORTW &= ~(1<<BIT); delay_ms(x); } Не знаю, помню когда сдвиг вправо у меня компилёр ошибался и иногда задвигал в старший бит '1', а влево - всегда '0' (Или это был кольцевой сдвиг?) (Или это был глючный компилёр?) (Или тип переменной был signed?) Не сталкивались?
|
|
|
|
|
Dec 25 2008, 17:36
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(DenisIV @ Dec 25 2008, 22:23)  иногда задвигал в старший бит '1', а влево - всегда '0' (Или это был кольцевой сдвиг?) Нету такого сдвига в стандарте Си. Цитата(DenisIV @ Dec 25 2008, 22:23)  (Или тип переменной был signed?) Угу, скорее всего именно так. Операция сдвига над переменной типа signed проводилась. Когда у переменной типа signed устанавливают старший бит, то число становится отрицательным. А при операции сдвига знак у такой переменной меняется не должен. Т.е. единичка-то вправо сдвигается, но в старшем бите она все равно остается.
|
|
|
|
Сообщений в этой теме
Vny4ek Как из Байта получить восемь значений 0 и 1 Dec 23 2008, 13:27 Палыч Используем цикл
Кодunsigned char Byte, i, Bit... Dec 23 2008, 13:31 SysRq А цель-то какая сего действа? Как "битовый ма... Dec 23 2008, 16:39 Goodefine Цитата(Vny4ek @ Dec 23 2008, 16:27) Есть ... Dec 23 2008, 17:40 Vny4ek цель такая: нужно сделать передачу информации, в в... Dec 24 2008, 06:21 Палыч Цитата(Vny4ek @ Dec 24 2008, 09:21) ...во... Dec 24 2008, 06:51 Goodefine Цитата(Vny4ek @ Dec 24 2008, 10:21) цель ... Dec 24 2008, 07:31 SysRq Цитата(Goodefine @ Dec 24 2008, 10:31) Ко... Dec 24 2008, 10:55 Goodefine Цитата(SysRq @ Dec 24 2008, 14:55) Правил... Dec 24 2008, 11:07 Палыч Цитата(Goodefine @ Dec 24 2008, 14:07) Ну... Dec 24 2008, 11:51 DenisIV Цитата(Goodefine @ Dec 24 2008, 14:07) Ну... Dec 24 2008, 12:19 Goodefine Цитата(Палыч @ Dec 24 2008, 15:51) ...Пер... Dec 24 2008, 12:01 SysRq Цитата(Goodefine @ Dec 24 2008, 15:01) С ... Dec 25 2008, 12:50  DenisIV Цитата(SysRq @ Dec 25 2008, 15:50) Вполне... Dec 25 2008, 13:15 Goodefine Цитата(DenisIV @ Dec 24 2008, 16:19) Обыч... Dec 24 2008, 13:22 Goodefine Цитата(xemul @ Dec 25 2008, 17:13) Код...... Dec 25 2008, 18:19 Сергей Борщ Цитата(Goodefine @ Dec 25 2008, 20:19) Ко... Dec 25 2008, 20:13  _Pasha Цитата(Сергей Борщ @ Dec 26 2008, 00:13) ... Dec 26 2008, 12:45 Goodefine Цитата(Сергей Борщ @ Dec 25 2008, 23:13) ... Dec 25 2008, 20:27 Сергей Борщ Цитата(Goodefine @ Dec 25 2008, 22:27) у ... Dec 25 2008, 20:42 Goodefine Цитата(Сергей Борщ @ Dec 25 2008, 23:42) ... Dec 25 2008, 21:03 DenisIV Цитата(Goodefine @ Dec 26 2008, 00:03) Ды... Dec 25 2008, 21:27  Сергей Борщ Цитата(DenisIV @ Dec 25 2008, 23:27) Сюда... Dec 25 2008, 22:46 Сергей Борщ Цитата(Goodefine @ Dec 25 2008, 23:03) У ... Dec 25 2008, 22:40 DenisIV Ещё глотнул пива...
Ведь оператор for работает так... Dec 25 2008, 22:40 Goodefine Цитата(DenisIV @ Dec 26 2008, 00:27) Попр... Dec 25 2008, 22:56 DenisIV Цитата(Goodefine @ Dec 26 2008, 01:56) Та... Dec 25 2008, 23:42  zltigo Цитата(DenisIV @ Dec 26 2008, 02:42) Похо... Dec 26 2008, 07:48   DenisIV Цитата(zltigo @ Dec 26 2008, 10:48) Реком... Dec 26 2008, 12:25    zltigo Цитата(DenisIV @ Dec 26 2008, 15:25) Я ра... Dec 26 2008, 13:06 Goodefine Цитата(DenisIV @ Dec 26 2008, 03:42) Могу... Dec 26 2008, 06:52 Goodefine Цитата(_Pasha @ Dec 26 2008, 16:45) была ... Dec 26 2008, 13:47 rezident Сообщение модератора.
Уважаемые, участники! За... Dec 26 2008, 14:05
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|