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

 
 
> C30 PIC24H проблема с long long типами (64 бит), обрезка 64-битных типов данных в С30 PIC24H
etryweuvbc
сообщение Sep 17 2009, 07:24
Сообщение #1





Группа: Участник
Сообщений: 5
Регистрация: 16-09-09
Пользователь №: 52 411



Описание проблемы:

при создании переменной больше 32 бит

Код
unsigned long long mul1=0x1FFFFFFFF;


выдает warning:

Код
warning: integer constant is too large for 'long' type


нигде не видел подобных ограничений для С30.

В чем проблема?
Облазил все настройки компилятора, ничего не нашел,
что могло бы быть связано с данной проблемой.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Sep 17 2009, 07:36
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Начните с изучения языка 'C'.
0x1FFFFFFFFLL
0x1FFFFFFFFULL


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
testerplus
сообщение Sep 17 2009, 07:44
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 7-08-08
Из: SPb
Пользователь №: 39 471



Цитата(zltigo @ Sep 17 2009, 11:36) *
Начните с изучения языка 'C'.
0x1FFFFFFFFLL


Для unsigned лучше ULL. Если константа в HEX, то все равно, а если в DEC, то опять будет warning при выходе за пределы 63-битного числа.

(Упс... Опоздал.)

Сообщение отредактировал testerplus - Sep 17 2009, 07:45
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 06:10
Рейтинг@Mail.ru


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