|
IAR 2.10.5 STM8 |
|
|
|
Dec 24 2015, 22:35
|
Частый гость
 
Группа: Участник
Сообщений: 85
Регистрация: 20-09-15
Пользователь №: 88 488

|
Кто то может уже натыкался на данную проблему, подскажите пожалуйста Пишу: Код unsigned long long i; i=(((unsigned long long)1)<<0x20); так вот без ошибки компилирует если сдиг не более 0x1F, если 0x20 и больше выдает ошибку - Warning[Pe063]: shift count is too large Как это победить, в чем проблема?
Сообщение отредактировал IgorKossak - Dec 25 2015, 10:53
|
|
|
|
|
 |
Ответов
|
Dec 27 2015, 18:59
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682

|
Жестокий у Вас препод, если С++ не разрешает. На С реализация только через структуры и функцию заменяющую "<<", потому что переопределение операторов С не поддерживает. Поэтому у Вас, при условии на С и обязательно оставить "<<", есть два варианта: 1. Уговорить участников группы стандартизации С внести в стандарт желаемые изменения. 2. если оператор действительно работает для 64-бит как Вы это утверждаете, то попытаться использовать этот бонус, предоставленный IARом. но я бы рекомендовал бы проверить работает ли он или только компилится с предупреждением.
P.S. Чтобы Вы не теряли время на проверку работоспособности: скорее всего IAR действительно добросовестно производит сдвиг, но начиная с момента когда сдвигаемая единица вылазит за 32 бита в 7-й байт, переменная всегда будет равна 0, а не (1<<0x20) и т.д.
Сообщение отредактировал aiwa - Dec 27 2015, 19:21
|
|
|
|
Сообщений в этой теме
phenixs IAR 2.10.5 STM8 Dec 24 2015, 22:35 aiwa Это не ошибка, а предупреждение, что разрядность т... Dec 25 2015, 00:46 phenixs То что 32 бита это я уже понял, как примерно оформ... Dec 25 2015, 04:38 Непомнящий Евгений Кодstruct U64 {
uint32_t low, hi;
};
ну и даль... Dec 25 2015, 06:15 phenixs У меня единственная операция, это сдвиг вправо(вле... Dec 25 2015, 08:46 Непомнящий Евгений Если я ничего не напутал, то что-то в таком духе
К... Dec 25 2015, 08:57 phenixs ну похоже..
я вот не пойму в чем прикол, IAR именн... Dec 25 2015, 09:25  Непомнящий Евгений Цитата(phenixs @ Dec 25 2015, 12:25) я во... Dec 25 2015, 09:28   phenixs Цитата(Непомнящий Евгений @ Dec 25 2015, 12... Dec 25 2015, 09:39    Непомнящий Евгений Цитата(phenixs @ Dec 25 2015, 12:39) А не... Dec 25 2015, 09:56 aiwa Цитата(phenixs @ Dec 25 2015, 10:46) У ме... Dec 25 2015, 10:01 phenixs Это все ужасно долго, нужно сделать 1 сдвиг, потом... Dec 25 2015, 12:04  scifi Цитата(phenixs @ Dec 25 2015, 15:04) Это ... Dec 25 2015, 18:47   phenixs Цитата(scifi @ Dec 25 2015, 21:47) Ну тог... Dec 25 2015, 19:52    aiwa Цитата(phenixs @ Dec 25 2015, 21:52) а во... Dec 25 2015, 21:31     phenixs Без С++ class не собирается, как правильно это на ... Dec 27 2015, 10:40   phenixs Цитата(scifi @ Dec 25 2015, 21:47) Ну тог... Dec 28 2015, 04:56 aiwa Цитата(phenixs @ Dec 25 2015, 14:04) Это ... Dec 25 2015, 13:48 phenixs Сечас попробую так временные интервалы измерить...... Dec 25 2015, 15:29  aiwa Цитата(Dog Pawlowa @ Dec 28 2015, 05:48) ... Dec 28 2015, 09:49   Dog Pawlowa Цитата(aiwa @ Dec 28 2015, 12:49) деклари... Dec 28 2015, 12:01
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|