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

 
 
> В чём различие между int и long int?, на ARM?
sonycman
сообщение May 1 2010, 19:27
Сообщение #1


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Всегда считал, что на армах int - это 32 битное число со знаком: 31 бит на само значение и один бит для знака.
Long - вроде тоже самое.

Но вот случайно заметил, что в сишной библиотеке есть две различные функции ABS() - для int и LABS() для long.

Значит, int и long всё же чем то отличаются?
Чем же? sad.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sigmaN
сообщение May 1 2010, 21:10
Сообщение #2


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Ну привык то привык. А вот в упоминаемом выше C2000, char - 16бит. )))
Вот и портабельность )))
На сколько я знаю, вся эта канитель от того, что стандарт лишь описывает условие sizeof(char)<=sizeof(int)<=sizeof(long) и это имплементэйшн дэфайнэд.
А вот Stdint.h подгоняют под каждый компилятор специально чтобы там было всё чётко. Для эмбеддеров это просто находка ))


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post



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

 


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


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