![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Nuzur |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: нет Всего: 5 |
я так понял что ето часть слова или чего-то там такого.
Просто наткнулся на строку
и никак не могу понять что автор хотел етим добиться. -------------------- Never again... |
|||
|
||||
| np9mi7 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 553 Регистрация: 17.8.2003 Где: Volgograd, Russia Репутация: 5 Всего: 10 |
Это приведение значения 1 типа long к типу CComDateTime;
|
|||
|
||||
| Nuzur |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: нет Всего: 5 |
а поподробней можно, я не про приведения типов, я про то, зачем нужна запись (CComDateTime)1L и что она выполняет. -------------------- Never again... |
|||
|
||||
| np9mi7 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 553 Регистрация: 17.8.2003 Где: Volgograd, Russia Репутация: 5 Всего: 10 |
ps: что такое CComDateTime? Это сообщение отредактировал(а) np9mi7 - 15.3.2006, 15:29 |
||||
|
|||||
| Nuzur |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: нет Всего: 5 |
Если я правильно понял (CComDateTime)1L == CComDateTime (long (1)) последний в свою очередь вызывает CComDateTime с параметром 1-ца, тоесть конструктор с параметром длинная 1-ца ССщьВфеуЕшьу сой долгий и нудній класс неясно чем лучше COleDateTime но использовать нужно его, так сказал САМ Это сообщение отредактировал(а) Nuzur - 15.3.2006, 15:40 -------------------- Never again... |
||||
|
|||||
| np9mi7 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 553 Регистрация: 17.8.2003 Где: Volgograd, Russia Репутация: 5 Всего: 10 |
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
1 (и любая целочисленная константа) - это int.
1L - это long. Разные типы (теоретически). Добавлено @ 19:12 Допустим, вы хотите написать что-то вроде:
Придется писать что-то вроде std::max<long>(a,10) или std::max((int)a,10). А можно написать std::max(a,10L). (Пыталась придумать, нафига это нужно -------------------- ... |
|||
|
||||
| Lotrex |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 9.2.2006 Где: Казань Репутация: 2 Всего: 3 |
Иногда и практически (к примеру, на 16-ти разрядных платформах). У кого-то (по-моему, у Голуба) прочитал, как он промучился весь день со следующей конструкцией:
В результате такого присваиваивания у него значение i получалось равным -1 (минус единице). Вылечить это дело он смог только так:
Я такую же штуку попробовал сделать на 16-ти битном компилере - но повторить не удалось (все присвоилось правильно, к прибамбасам вроде L прибегать не пришлось). |
||||
|
|||||
| Janus |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 186 Регистрация: 26.9.2005 Репутация: нет Всего: 1 |
Видишь ли, 0xFFFF означает, что все биты числа заполнятся единицами. В знаковых числах есть один знаковый бит, и если он установлен в 1, то число считается отрицательным, а его запись - это дополнительный код числа. Так что 0xFFFF - это и есть -1, это не баг и не глюк, это правильно. Кроме того, раз уж на то пошло, проверь диапазоны. (для 32-разрядных платформ) { long не может превышать + 2147483648, а 0xFFFFFFFF = 4294967296, если учитывать отсутствие знака, как это было у тебя. } (для 16-разрядных платформ) { long не может превышать + 32768, а 0xFFFF = 65536, если учитывать отсутствие знака, как это было у тебя. } Проще говоря, ты пытался засунуть в переменную больше, чем она может вместить. Это сообщение отредактировал(а) Janus - 21.3.2006, 18:46 --------------------
Проект "Репликатор" |
||||
|
|||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Не мути 0хFFFF == 65535 |
|||
|
||||
| Janus |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 186 Регистрация: 26.9.2005 Репутация: нет Всего: 1 |
Ну да, стормозил. Не 0xFFFF, а 0xFFFFFFFF. Это я с 32х разрядными напутал. Счас поправлю верхнее сообщение.
--------------------
Проект "Репликатор" |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |