реклама на сайте
подробности

 
 
> Глюк IAR или мой, приведение типов
VladimirYU
сообщение May 7 2008, 12:02
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782



В IAR AVR 4.12 столкнулся вот с чем:

// имею
int data = 0xabd6;

// хочу увеличить разрядность до 32 без знака
unsigned int tmp = (unsigned int) data;

// получаю tmp = 0x0000abd6, что и хотел

а теперь вместо 32 захотел увеличить разрядность до 64 без знака из исходного data
unsigned long long tmp = (unsigned int) data;

// получаю tmp = 0x6dba000000000000

?????????????
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Freeze Anti
сообщение May 7 2008, 12:13
Сообщение #2


Частый гость
**

Группа: Новичок
Сообщений: 153
Регистрация: 29-03-07
Из: Саратов
Пользователь №: 26 613



а long два раза стоит это опечатка или зачем?

а если отдать на усмотрение компилятора приведение типов, то есть записать

unsigned long tmp = data

что получается?


--------------------
!!! All you need is LOVE !!!
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение May 7 2008, 12:22
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(Freeze Anti @ May 7 2008, 16:13) *
а long два раза стоит это опечатка или зачем?


long long - это тип такой. Целое 64 разряда.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 21:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01395 секунд с 7
ELECTRONIX ©2004-2016