|
Деление int на size_t |
|
|
|
 |
Ответов
|
Nov 6 2013, 22:38
|

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

|
Цитата(V_G @ Nov 6 2013, 18:00)  Если перейдете на С++ (язык с более строгим контролем соответствия типов данных) , то компилятор по-хорошему должен выдать сообщение об ошибке и потребовать явного приведения к типу. Всякого рода умолчания тут вредны. Это именно C++. А в чём именно ошибка? Int делим на Short (или любой другой тип без знака). В результате будет Int. Это ошибка? Цитата(zhevak @ Nov 6 2013, 20:47)  И надо учитывать, что sizeof возвращает не unsigned char, и даже не unsigned int, а size_t. Функция у sizeof() - вернуть константу, то есть самое обычное число без знака. Каким образом её результат может влиять на знак выражения типа: -100/х = y? Цитата(AHTOXA @ Nov 6 2013, 20:59)  Если там gcc, то за это предупреждение отвечает флаг -Wsign-compare. Проверил на других компиляторах: IAR и CodeVision не страдают этой ошибкой и генерят код в соответствии с математическими правилами и моими ожиданиями. А вот GCC в AtmelStudio и для ARMов точно также отбрасывает знак и считает, что результат может быть только положительный. Прискорбно
|
|
|
|
Сообщений в этой теме
sonycman Деление int на size_t Nov 6 2013, 10:37 Xenia Цитата(sonycman @ Nov 6 2013, 14:37) int ... Nov 6 2013, 11:24 sonycman Цитата(Xenia @ Nov 6 2013, 15:24) Результ... Nov 6 2013, 13:25  defunct Цитата(sonycman @ Nov 6 2013, 15:25) Но р... Dec 24 2013, 17:18 mdmitry Цитата(Xenia @ Nov 6 2013, 15:24) Результ... Nov 6 2013, 14:20  Xenia Цитата(mdmitry @ Nov 6 2013, 18:20) А не ... Nov 6 2013, 16:43 V_G Если перейдете на С++ (язык с более строгим контро... Nov 6 2013, 14:00 zhevak Цитата(sonycman @ Nov 6 2013, 21:11) Прог... Nov 6 2013, 16:47   AHTOXA Цитата(sonycman @ Nov 7 2013, 04:38) А во... Nov 7 2013, 03:59    zhevak ... и еще вот тут есть интересные рассуждения про ... Nov 7 2013, 06:09    sonycman Цитата(AHTOXA @ Nov 7 2013, 07:59) Ваш ва... Nov 7 2013, 08:47     AHTOXA Цитата(sonycman @ Nov 7 2013, 14:47) Веро... Nov 7 2013, 09:30      sonycman Цитата(AHTOXA @ Nov 7 2013, 13:30) 1. siz... Nov 7 2013, 09:37       AHTOXA Вот уж не ожидал, что приведённое мной объяснение ... Nov 7 2013, 11:17        sonycman Цитата(AHTOXA @ Nov 7 2013, 15:17) Вот уж... Nov 7 2013, 12:27         AHTOXA Это не мой стандарт, это стандарт языка Си.
И лучш... Nov 7 2013, 16:33          sonycman Цитата(AHTOXA @ Nov 7 2013, 20:33) (И пос... Nov 7 2013, 21:31           AHTOXA Цитата(sonycman @ Nov 8 2013, 03:31) Оба ... Nov 8 2013, 04:17 sonycman Прошу прощения, поторопился я вчера с выводами, по... Nov 8 2013, 10:19 zhevak Да. Было бы любопытно посмотреть на распечатку асс... Nov 8 2013, 11:29  sonycman Цитата(zhevak @ Nov 8 2013, 15:29) Да. Бы... Nov 8 2013, 12:02   zhevak Цитата(sonycman @ Nov 8 2013, 18:02) Вы п... Nov 8 2013, 13:39 sonycman Без проблем, только я сейчас на работе, и смогу до... Nov 8 2013, 14:13 ILYAUL Коллеги , а давайте в отдельной теме. Эта всё таки... Nov 8 2013, 14:13 IgorKossak Цитата(ILYAUL @ Nov 8 2013, 16:13) Коллег... Nov 8 2013, 18:33 sonycman Несколько устав уже от нюансов по поводу интерпрет... Nov 9 2013, 19:56 maksimp Цитата(sonycman @ Nov 9 2013, 22:56) При ... Nov 28 2013, 20:35 Genadi Zawidowski Ну написано же в стандарте явно про беззнаковость ... Jan 5 2014, 00:20
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|