Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 12.05.2008, 13:49   #1
alex_new_2030
Senior Member
 
Аватар для alex_new_2030
 
Регистрация: 26.02.2007
Возраст: 40
Сообщений: 204
Вес репутации: 105/51
alex_new_2030 will become famous soon enoughalex_new_2030 will become famous soon enough
Отправить сообщение для alex_new_2030 с помощью ICQ
По умолчанию Подскажите по СИ (сдвиг)

Привет Всем!
Подскажите как написать в СИ для реализации такой последовательности
Код:
	RLF	simbol0		
	RLF	stroka0H
	RLF	stroka0L
	RLF	stroka1H
	RLF	stroka1L
	RLF	stroka2H
	RLF	stroka2L
	RLF	stroka3H
	RLF	stroka3L
	RLF	stroka4H
	RLF	stroka4L
	RLF	stroka5H
	RLF	stroka5L
компилятор HI-TECH

unsigned int stroka0[6];
unsigned char simbol0;
alex_new_2030 вне форума   Ответить с цитированием
Старый 12.05.2008, 14:00   #2
DL36
Senior Member
 
Регистрация: 25.02.2007
Адрес: Херсон
Сообщений: 3,642
Вес репутации: 1983/103
DL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant future
По умолчанию Re: Подскажите по СИ (сдвиг)

Цитата:
Сообщение от alex_new_2030 Посмотреть сообщение
Привет Всем!
Подскажите как написать в СИ для реализации такой последовательности
Код:
    RLF    simbol0        
    RLF    stroka0H
    RLF    stroka0L
    RLF    stroka1H
    RLF    stroka1L
    RLF    stroka2H
    RLF    stroka2L
    RLF    stroka3H
    RLF    stroka3L
    RLF    stroka4H
    RLF    stroka4L
    RLF    stroka5H
    RLF    stroka5L
компилятор HI-TECH

unsigned int stroka0[6];
unsigned char simbol0;
Тут смотрите, хотя поиском тоже надо уметь пользоваться.
DL36 вне форума   Ответить с цитированием
Старый 12.05.2008, 14:30   #3
ESD
Senior Member
 
Аватар для ESD
 
Регистрация: 26.02.2007
Сообщений: 539
Вес репутации: 243/55
ESD has a spectacular aura aboutESD has a spectacular aura aboutESD has a spectacular aura about
Отправить сообщение для ESD с помощью ICQ Отправить сообщение для ESD с помощью Skype™
По умолчанию Re: Подскажите по СИ (сдвиг)

Код:
simbol0<<=1;

unsigned char i=6;
while(--i)stroka[i]<<=1;
__________________
Программист встраиваемых систем - это профессия. Эмбеддер - это стиль жизни.
ESD вне форума   Ответить с цитированием
Старый 12.05.2008, 15:28   #4
Luftwaffe
Senior Member
 
Аватар для Luftwaffe
 
Регистрация: 11.10.2007
Адрес: Россия, СПб
Возраст: 41
Сообщений: 118
Вес репутации: 224/48
Luftwaffe has a spectacular aura aboutLuftwaffe has a spectacular aura aboutLuftwaffe has a spectacular aura about
Отправить сообщение для Luftwaffe с помощью ICQ
По умолчанию Re: Подскажите по СИ (сдвиг)

если предположить, что автор попутал H и L, то такой вариант

Код:
	unsigned int stroka0[6];
	unsigned char simbol0;

	*(unsigned long *)(stroka0 + 4) <<= 1;
	if (stroka0[3] & 0x8000)
		stroka0[4] |= 1;
	*(unsigned long *)(stroka0 + 2) <<= 1;
	if (stroka0[1] & 0x8000)
		stroka0[2] |= 1;
	*(unsigned long *)(stroka0 + 0) <<= 1;
	if (simbol0 & 0x80)
		stroka0[0] |= 1;
	simbol0 <<= 1;
__________________
На стоянке, шасси выпущено, к взлёту готов (c)
Luftwaffe вне форума   Ответить с цитированием
Старый 12.05.2008, 15:28   #5
urry
Senior Member
 
Аватар для urry
 
Регистрация: 11.10.2007
Возраст: 57
Сообщений: 462
Вес репутации: 228/51
urry has a spectacular aura abouturry has a spectacular aura abouturry has a spectacular aura about
По умолчанию Re: Подскажите по СИ (сдвиг)

ESD, так некорректно, ему же нужно 1 байт сдвигать, а не 2.
Я бы чуток изменил
Код:
typedef union
{
unsigned int stroka; // 
struct {
       unsigned char l; //младший байт 
       unsigned char h; // старший байт 
    }stroka_b;
}stroka_;
stroka_ stroka[6];

unsigned char i=6;
do{
stroka[i].stroka_b.l<<=1;
stroka[i].stroka_b.h<<=1;
}while(--i);
ДА, А ЗАЕМ УЧИТЫВАЕТСЯ ???
urry вне форума   Ответить с цитированием
Старый 12.05.2008, 15:34   #6
ESD
Senior Member
 
Аватар для ESD
 
Регистрация: 26.02.2007
Сообщений: 539
Вес репутации: 243/55
ESD has a spectacular aura aboutESD has a spectacular aura aboutESD has a spectacular aura about
Отправить сообщение для ESD с помощью ICQ Отправить сообщение для ESD с помощью Skype™
По умолчанию Re: Подскажите по СИ (сдвиг)

Цитата:
Сообщение от urry Посмотреть сообщение
ESD, так некорректно, ему же нужно 1 байт сдвигать, а не 2.
Комманда RLF сдвигает с переносом, поэтому двинуть он хочет не байты и не полуслова, а вообще весь массив, причём в старший байт нулевого элемента попадает бит из symbol0, хрень какая-то
__________________
Программист встраиваемых систем - это профессия. Эмбеддер - это стиль жизни.
ESD вне форума   Ответить с цитированием
Старый 12.05.2008, 15:48   #7
alex_new_2030
Senior Member
 
Аватар для alex_new_2030
 
Регистрация: 26.02.2007
Возраст: 40
Сообщений: 204
Вес репутации: 105/51
alex_new_2030 will become famous soon enoughalex_new_2030 will become famous soon enough
Отправить сообщение для alex_new_2030 с помощью ICQ
По умолчанию Re: Подскажите по СИ (сдвиг)

Спасибо.
Это вообщето нужно для "бегушки".
stroka0 .... stroka5 это данные одной строчки (96пикселей), вот эти данные нужно сдвинуть и дописать 1 бит данных из simbol, хранящий данные о задвигаемом символе.
сейчас вот так сделал.
Код:
stroka5[0]<<=1;
if (stroka4[0] & (1<< 15)){stroka5[0]|=1;};
stroka4[0]<<=1;
if (stroka3[0] & (1<< 15)){stroka4[0]|=1;};
stroka3[0]<<=1;
if (stroka2[0] & (1<< 15)){stroka3[0]|=1;};
stroka2[0]<<=1;
if (stroka1[0] & (1<< 15)){stroka2[0]|=1;};
stroka1[0]<<=1;
if (stroka0[0] & (1<< 15)){stroka1[0]|=1;};
stroka0[0]<<=1;
if (simbol_matrix[0] & (1<< 7)){stroka0[0]|=1;};
simbol_matrix[0]<<=1;
получаеться довольно таки грамоздко.
alex_new_2030 вне форума   Ответить с цитированием
Старый 12.05.2008, 16:17   #8
urry
Senior Member
 
Аватар для urry
 
Регистрация: 11.10.2007
Возраст: 57
Сообщений: 462
Вес репутации: 228/51
urry has a spectacular aura abouturry has a spectacular aura abouturry has a spectacular aura about
По умолчанию Re: Подскажите по СИ (сдвиг)

Учитывая, что, скорее всего двумерный массив, таки да...
А что-то типа этого ?
Код:
unsigned int stroka[6];

unsigned char i=5;
do{
stroka[i+1]<<=1;
stroka[i]<<=1;
stroka[i+1]+=CARRY;
}while(--i);
urry вне форума   Ответить с цитированием
Старый 13.05.2008, 07:09   #9
alex_new_2030
Senior Member
 
Аватар для alex_new_2030
 
Регистрация: 26.02.2007
Возраст: 40
Сообщений: 204
Вес репутации: 105/51
alex_new_2030 will become famous soon enoughalex_new_2030 will become famous soon enough
Отправить сообщение для alex_new_2030 с помощью ICQ
По умолчанию Re: Подскажите по СИ (сдвиг)

Цитата:
Сообщение от urry Посмотреть сообщение
Учитывая, что, скорее всего двумерный массив, таки да...
А что-то типа этого ?
Код:
unsigned int stroka[6];

unsigned char i=5;
do{
stroka[i+1]<<=1;
stroka[i]<<=1;
stroka[i+1]+=CARRY;
}while(--i);
Интересный вариант, спасибо
alex_new_2030 вне форума   Ответить с цитированием
Старый 13.05.2008, 13:43   #10
AleksBak
Senior Member
 
Аватар для AleksBak
 
Регистрация: 27.02.2007
Адрес: г. Баку
Сообщений: 3,124
Вес репутации: 2885/107
AleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond repute
По умолчанию Ответ: Подскажите по СИ (сдвиг)

А вот мне еще вчера вот такая вещь придумалась - нельзя ли как-то все эти переменные объединить в одну большую(тут получается нужно 104-разрядная!!!) и ее уже просто двигать влево или вправо по требованию. Неужели компилятор такую вещь не сможет сделать?
AleksBak вне форума   Ответить с цитированием
Старый 13.05.2008, 14:11   #11
ESD
Senior Member
 
Аватар для ESD
 
Регистрация: 26.02.2007
Сообщений: 539
Вес репутации: 243/55
ESD has a spectacular aura aboutESD has a spectacular aura aboutESD has a spectacular aura about
Отправить сообщение для ESD с помощью ICQ Отправить сообщение для ESD с помощью Skype™
По умолчанию Ответ: Подскажите по СИ (сдвиг)

Цитата:
Сообщение от AleksBak Посмотреть сообщение
А вот мне еще вчера вот такая вещь придумалась - нельзя ли как-то все эти переменные объединить в одну большую(тут получается нужно 104-разрядная!!!) и ее уже просто двигать влево или вправо по требованию. Неужели компилятор такую вещь не сможет сделать?
Я тоже задался этим вопросом - перепробовал все средства. Нет, нельзя.
__________________
Программист встраиваемых систем - это профессия. Эмбеддер - это стиль жизни.
ESD вне форума   Ответить с цитированием
Старый 13.05.2008, 14:51   #12
killer258
Senior Member
 
Аватар для killer258
 
Регистрация: 30.12.2007
Адрес: Череповец
Возраст: 49
Сообщений: 1,206
Вес репутации: 588/62
killer258 is a name known to allkiller258 is a name known to allkiller258 is a name known to allkiller258 is a name known to allkiller258 is a name known to allkiller258 is a name known to all
Отправить сообщение для killer258 с помощью ICQ
По умолчанию Ответ: Подскажите по СИ (сдвиг)

Цитата:
Сообщение от AleksBak Посмотреть сообщение
А вот мне еще вчера вот такая вещь придумалась - нельзя ли как-то все эти переменные объединить в одну большую(тут получается нужно 104-разрядная!!!) и ее уже просто двигать влево или вправо по требованию. Неужели компилятор такую вещь не сможет сделать?
я тоже как-то над этим размышлял.Если двигать по очереди один байт за другим, время получается большое, если, скажем , надо сдвинуть большую страницу текста.Интересно, как это сделано в текстовых редакторах, когда пользователь вставляет символ где-нибудь в начале текста, и все последующие за ним тут же пододвигаются ?
хотя, наверное, так и делают,двигают по одному все байты в цикле..
в Z80 это было очень удобно делать с помощью команды LDIR, а в других случаях, видимо, сдвиг по очереди одного за другим..
killer258 вне форума   Ответить с цитированием
Старый 13.05.2008, 15:03   #13
Luftwaffe
Senior Member
 
Аватар для Luftwaffe
 
Регистрация: 11.10.2007
Адрес: Россия, СПб
Возраст: 41
Сообщений: 118
Вес репутации: 224/48
Luftwaffe has a spectacular aura aboutLuftwaffe has a spectacular aura aboutLuftwaffe has a spectacular aura about
Отправить сообщение для Luftwaffe с помощью ICQ
По умолчанию Ответ: Подскажите по СИ (сдвиг)

в хайтече масимум в unsigned long можно объединить, тогда будет подряд 4 команды сдвига через перенос (выше приводил в этой теме пример)

а по поводу текстового редактора, можно чтонибудь типа связанного списка блоков организовать - тогда при вставке основной текст делится на два блока до курсора и после и добавляется третий блок с новыми символами, настраиваются связи между блоками - тогда каждый раз двигать не надо будет, затем блоки можно обратно слить в одно целое за один приём (как вариант)

кстати в исходной задачи в принципе можно избавится от сдвига, если хранить данные не вдоль строки, а столбцами, тогда будет простая пересылка байт - хз даст ли это выигрыш, лень считать
__________________
На стоянке, шасси выпущено, к взлёту готов (c)
Luftwaffe вне форума   Ответить с цитированием
Старый 13.05.2008, 15:58   #14
IgorV
Senior Member
 
Аватар для IgorV
 
Регистрация: 25.02.2007
Адрес: всем пока
Возраст: 49
Сообщений: 4,100
Вес репутации: 1883/107
IgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant future
Отправить сообщение для IgorV с помощью Skype™
По умолчанию Ответ: Подскажите по СИ (сдвиг)

А зачем вообще что-то двигать?
Грамотно лежащие данные не требуют сдвигов.
IgorV вне форума   Ответить с цитированием
Старый 13.05.2008, 16:09   #15
AleksBak
Senior Member
 
Аватар для AleksBak
 
Регистрация: 27.02.2007
Адрес: г. Баку
Сообщений: 3,124
Вес репутации: 2885/107
AleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond repute
По умолчанию Вот нашел, правда в "нелюбимом" многими CCS-е

Функция SHIFT_LEFT (еще есть ROTATE_LEFT ) и вот что генерирует:
Код:
 
....................    shift_left(buffer,12,input(PIN_A3));
0019:  BSF    03.5
001A:  BSF    05.3
001B:  BCF    03.5
001C:  BTFSC  05.3
001D:  GOTO   020
001E:  BCF    03.0
001F:  GOTO   021
0020:  BSF    03.0
0021:  RLF    21,F
0022:  RLF    22,F
0023:  RLF    23,F
0024:  RLF    24,F
0025:  RLF    25,F
0026:  RLF    26,F
0027:  RLF    27,F
0028:  RLF    28,F
0029:  RLF    29,F
002A:  RLF    2A,F
002B:  RLF    2B,F
002C:  RLF    2C,F
....................
и получается то что собственно требовалось. Здесь, внутри функции:
buffer - массив из 12-и байт(его задание не показано),
12 - число байт,
input(PIN_A3) - тут просто из примера в "Хелпе" взял, типа значение Порта А3 сдвигаем в этот массив. А вот собственно описание этой функции(из "Хелпа"):
Цитата:
Syntax:
shift_left (address, bytes, value)

Parameters:
address is a pointer to memory, bytes is a count of the number of bytes to work with, value is a 0 to 1 to be shifted in.

Returns:
0 or 1 for the bit shifted out

Function:
Shifts a bit into an array or structure. The address may be an array identifier or an address to a structure (such as &data). Bit 0 of the lowest byte in RAM is treated as the LSB.
Похоже это то? Еще вот интересно, что там компилятор вначале сдвигов проверял(см. код примера работы функции). Надо еще посмотреть.
AleksBak вне форума   Ответить с цитированием
Старый 13.05.2008, 16:12   #16
AleksBak
Senior Member
 
Аватар для AleksBak
 
Регистрация: 27.02.2007
Адрес: г. Баку
Сообщений: 3,124
Вес репутации: 2885/107
AleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond repute
По умолчанию Ответ: Подскажите по СИ (сдвиг)

Цитата:
Сообщение от killer258 Посмотреть сообщение
...
в Z80 это было очень удобно делать с помощью команды LDIR, а в других случаях, видимо, сдвиг по очереди одного за другим..
Вранье - команда LDIR там не сдвигала, хотя к теме это не относится.
AleksBak вне форума   Ответить с цитированием
Старый 13.05.2008, 16:20   #17
IgorV
Senior Member
 
Аватар для IgorV
 
Регистрация: 25.02.2007
Адрес: всем пока
Возраст: 49
Сообщений: 4,100
Вес репутации: 1883/107
IgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant future
Отправить сообщение для IgorV с помощью Skype™
По умолчанию зациклились

зациклились на сдвигах. Не нужны они. Куда данные вываливаются? Если в SPI, то сдвиг не нужен. Если сразу по несколько бит в какой то порт с тактированием то данные необходимо хранить транспонировав предварительно шрифт - тоже сдвиг не нужен.

Последний раз редактировалось IgorV; 13.05.2008 в 16:29.
IgorV вне форума   Ответить с цитированием
Старый 13.05.2008, 16:31   #18
AleksBak
Senior Member
 
Аватар для AleksBak
 
Регистрация: 27.02.2007
Адрес: г. Баку
Сообщений: 3,124
Вес репутации: 2885/107
AleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond repute
По умолчанию Ответ: зациклились

Цитата:
Сообщение от IgorV Посмотреть сообщение
зациклились на сдвигах. Не нужны они. Куда данные вываливаются? Если в SPI, то сдвиг не нужен. Если сразу по несолько бит в какой то порт с тактированием то данные необходимо хранить транспонировав шрифт предварительно - тоже сдвиг не нужен.
Тоже вот об этом думал. Но вот просто для интереса - нужен такой сдвиг и все тут и причем в С. Что тогда делать? А может, у него(у автора темы) готовая подпрограмма вывода этого массива сразу по всем точкам на экране и ей(подпрограмме) подавай каждый раз уже готовый сдвинутый массив из данных?
AleksBak вне форума   Ответить с цитированием
Старый 13.05.2008, 16:34   #19
IgorV
Senior Member
 
Аватар для IgorV
 
Регистрация: 25.02.2007
Адрес: всем пока
Возраст: 49
Сообщений: 4,100
Вес репутации: 1883/107
IgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant future
Отправить сообщение для IgorV с помощью Skype™
По умолчанию Ответ: зациклились

Цитата:
Сообщение от AleksBak Посмотреть сообщение
Тоже вот об этом думал. Но вот просто для интереса - нужен такой сдвиг и все тут и причем в С. Что тогда делать? А может, у него(у автора темы) готовая подпрограмма вывода этого массива сразу по всем точкам на экране и ей(подпрограмме) подавай каждый раз уже готовый сдвинутый массив из данных?
значит функция ещё нифига не готова, не продумана...
Не должно требоваться таких длинных сдвигов.
IgorV вне форума   Ответить с цитированием
Старый 13.05.2008, 16:35   #20
majorPAE
Super Moderator
 
Аватар для majorPAE
 
Регистрация: 26.02.2007
Возраст: 57
Сообщений: 2,221
Вес репутации: 2214/92
majorPAE has a reputation beyond reputemajorPAE has a reputation beyond reputemajorPAE has a reputation beyond reputemajorPAE has a reputation beyond reputemajorPAE has a reputation beyond reputemajorPAE has a reputation beyond reputemajorPAE has a reputation beyond reputemajorPAE has a reputation beyond reputemajorPAE has a reputation beyond reputemajorPAE has a reputation beyond reputemajorPAE has a reputation beyond repute
Отправить сообщение для majorPAE с помощью ICQ Отправить сообщение для majorPAE с помощью Skype™
По умолчанию Ответ: зациклились

Цитата:
Сообщение от IgorV Посмотреть сообщение
зациклились на сдвигах. Не нужны они. Куда данные вываливаются? ...
Бывает что нужны. Пример: быстрое формирование длинной М-последовательности. Данные, по сути, никуда не вываливаются.
__________________
ЗАКОH ТРУДHОСТЕЙ БИЛЛИHГСА: Большинство тpyдностей пpоисходит оттого, что мы слишком быстpо говоpим ДА и недостаточно быстpо - НЕТ.(с)
"Очередной шаг вперед, как правило, результат хорошего пинка в зад!"(С)
majorPAE вне форума   Ответить с цитированием
Старый 13.05.2008, 16:35   #21
AleksBak
Senior Member
 
Аватар для AleksBak
 
Регистрация: 27.02.2007
Адрес: г. Баку
Сообщений: 3,124
Вес репутации: 2885/107
AleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond repute
По умолчанию Ответ: Re: Подскажите по СИ (сдвиг)

Цитата:
Сообщение от alex_new_2030 Посмотреть сообщение
Спасибо.
Это вообщето нужно для "бегушки".
stroka0 .... stroka5 это данные одной строчки (96пикселей), вот эти данные нужно сдвинуть и дописать 1 бит данных из simbol, хранящий данные о задвигаемом символе.
сейчас вот так сделал.
Код:
stroka5[0]<<=1;
if (stroka4[0] & (1<< 15)){stroka5[0]|=1;};
stroka4[0]<<=1;
if (stroka3[0] & (1<< 15)){stroka4[0]|=1;};
stroka3[0]<<=1;
if (stroka2[0] & (1<< 15)){stroka3[0]|=1;};
stroka2[0]<<=1;
if (stroka1[0] & (1<< 15)){stroka2[0]|=1;};
stroka1[0]<<=1;
if (stroka0[0] & (1<< 15)){stroka1[0]|=1;};
stroka0[0]<<=1;
if (simbol_matrix[0] & (1<< 7)){stroka0[0]|=1;};
simbol_matrix[0]<<=1;
получается довольно таки громоздко.
Нужно посмотреть, что в сгенерированном коде почается! Вот, в последнем варианте(от urry), что получится? может компилятор сам "догадается" и сделает как требуется?

Последний раз редактировалось AleksBak; 13.05.2008 в 16:38. Причина: опять орф. ошибка
AleksBak вне форума   Ответить с цитированием
Старый 13.05.2008, 16:37   #22
IgorV
Senior Member
 
Аватар для IgorV
 
Регистрация: 25.02.2007
Адрес: всем пока
Возраст: 49
Сообщений: 4,100
Вес репутации: 1883/107
IgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant future
Отправить сообщение для IgorV с помощью Skype™
По умолчанию Ответ: зациклились

Цитата:
Сообщение от majorPAE Посмотреть сообщение
Бывает что нужны. Пример: быстрое формирование длинной М-последовательности. Данные, по сути, никуда не вываливаются.
Это математика. а для математики нужно время, которое надо закладывать в мипсы проца. Для бегушки же не нужно, там ничего считать не надо. Есть конечно и в бегушке когда ну вот надо сдвинуть, но если подумать и опять можно обойти глобальные сдвиги

тоько вот если эффект находу просчитать, тогда может понадобиться, но для эффектов тогда асмовые вставки
IgorV вне форума   Ответить с цитированием
Старый 14.05.2008, 07:31   #23
alex_new_2030
Senior Member
 
Аватар для alex_new_2030
 
Регистрация: 26.02.2007
Возраст: 40
Сообщений: 204
Вес репутации: 105/51
alex_new_2030 will become famous soon enoughalex_new_2030 will become famous soon enough
Отправить сообщение для alex_new_2030 с помощью ICQ
По умолчанию Ответ: Подскажите по СИ (сдвиг)

Спасибо всем!
Действительно, поразмыслив, пришел к выводу, что глобальный сдвиг мне совершенно не нужен.
Отдельно спасибо IgorV, за "пинок" в нужном направлении.
Такой сдвиг может пригодиться в других задачах.
alex_new_2030 вне форума   Ответить с цитированием
Старый 14.05.2008, 07:50   #24
IgorV
Senior Member
 
Аватар для IgorV
 
Регистрация: 25.02.2007
Адрес: всем пока
Возраст: 49
Сообщений: 4,100
Вес репутации: 1883/107
IgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant future
Отправить сообщение для IgorV с помощью Skype™
По умолчанию не плохо бы сказать как пошел

Цитата:
Сообщение от alex_new_2030 Посмотреть сообщение
Спасибо всем!
Действительно, поразмыслив, пришел к выводу, что глобальный сдвиг мне совершенно не нужен.
Такой сдвиг может пригодиться в других задачах.
т.е каким путем решил не сдвигать, а обойти(сь). Кто нибудь будет искать как сдвинуть и тоже найдет, конечно, если это не ноухау
IgorV вне форума   Ответить с цитированием
Ответ

Метки
глобальный сдвиг в с


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу литературу по Си Mario Общетехнические вопросы 16 20.03.2014 14:34
Подскажите хорошую книгу по написанию прог для PIC на Си Yokel Продукция MICROCHIP 37 26.04.2008 01:58
Подскажите, пожалуйста, где толковую литературу на русском языке по dspic33f взять (в основном АСМ интересует) dr_Sash Продукция MICROCHIP 42 29.03.2008 16:22
подскажите по Си для швондер Продукция MICROCHIP 3 06.12.2007 21:07
реализация обмена по RS на Си... timday Продукция MICROCHIP 16 12.06.2007 01:29


Часовой пояс GMT +3, время: 20:28.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot