предупреждает, мол сдвигаем на число бит, больше чем в переменной (и не сдвигает, не меняет число).
Чё, с переменными 64 бит работать нельзя?
Stewart Little
Apr 1 2011, 16:33
А переменная b какого типа?
alexPec
Apr 1 2011, 17:04
Цитата(torik @ Apr 1 2011, 18:02)
в ниосе объявляю переменную типа
Код
alt_u64 a;
когда пишу
Код
a = b << 32;
предупреждает, мол сдвигаем на число бит, больше чем в переменной (и не сдвигает, не меняет число).
Чё, с переменными 64 бит работать нельзя?
А так :
Код
a = (alt_u64)b << 32;
?
Некоторые компиляторы делают результат такого типа, какие переменные используются, а не того типа, чему присваивается, может это?
torik
Apr 1 2011, 17:34
завтра попробую, может и так. но когда 32 бит и 16 бит переменные, все работает и так, потому и не додумался преобразовывать тип.
alexPec
Apr 1 2011, 20:06
Цитата(torik @ Apr 1 2011, 21:34)
завтра попробую, может и так. но когда 32 бит и 16 бит переменные, все работает и так, потому и не додумался преобразовывать тип.
Незнай, с иаровским компилятором как-то накололся, сейчас все везде преобразую чтоб соответствовало... А так как у Вас было написано это скорее a=(alt_u64)(b<<32);
torik
Apr 3 2011, 13:36
Fuf, спасибо. Преобразовал типы, все хокей.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.