Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C / C++

Выпуск № 285
от 16.06.2003, 02:10

Администратор:
Имя: Nick.Box
URL: Информационный ресурс
ICQ: 365124
[censored], [censored]
О рассылке:
Задано вопросов: 865
Отправлено ответов: 1991
Активность: 230.1 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Yuri Gordienko
Статус: Опытный
Общий рейтинг: 116.16
[Подробней >>]
Hayk
Статус: Доверительный
Общий рейтинг: 111.47
[Подробней >>]
BOLT
Статус: Профессиональный
Общий рейтинг: 171.26
URL: Начинающему программитсу: софт, примеры, документация, Assembler, C/C++.
[Подробней >>]
 
vitya
Статус: Профессиональный
Общий рейтинг: 108.14
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 850. int i; i=(6.66-(int)6.66)*10; cout<... (ответов: 4)
Вопрос № 851. Программка из книги Подбельского опять таки. Показывает размер необходимый для хранения констант чис... (ответов: 3)
Вопрос № 852. Привет. Просто хочу узнать ести ли вообще в природе мсдн на русском языке??? И еще. вы случаем не зн... (ответов: 2)
Вопрос № 854. 2 KoDMaster: Сорри за настойчивость - опять про сервис. Кинь, плз, исходником сервиса, который _не г... (ответов: 1)

Вопросов: 4, ответов: 10


 Вопрос № 850

int i;
i=(6.66-(int)6.66)*10;
cout<или же просто:
cout<<(int)((6.66-(int)6.66)*10)<Почему я получаю результат не "6" а "5".
Но если "i" делаю double то получаю все-таки "6".



Вопрос отправлен: 12.06.2003, 03:10
Отправитель: root (runinet@ukr.net)

[Следующий вопрос >>] [Список вопросов]

Отвечает Yuri Gordienko

Доброе время суток, root!
Где получаешь? У меня на VC6 получается 6, да и по тексту 6 должно быть

Ответ отправлен: 12.06.2003, 10:14
Отправитель: Yuri Gordienko


Отвечает Hayk

Приветствую Вас, root!
Пошагово это происходит так...
1. (int)6.66 == 6 as int ;
2. 6.66-(int)6.66 = 0.66 as double ;
3. (6.66-(int)6.66)*10 = 6.6 as double ;
4. i = (6.66-(int)6.66)*10 - так-как i является переменной типа int то 6.6 урезается до 6-и. А если переменная i имеет тип double, тогда результатом будет 6.6

Ответ отправлен: 12.06.2003, 10:43
Отправитель: Hayk


Отвечает BOLT

Здравствуйте, root!
Я не знаю почему!У меня получатся 6!
Да прибудет с тобой Велика Сила!

Ответ отправлен: 13.06.2003, 23:05
Отправитель: BOLT


Отвечает vitya

Добрый день, root!
Получаешь 5, так как (int) берет целую часть, а не округляет.

Ответ отправлен: 12.06.2003, 08:43
Отправитель: vitya


 Вопрос № 851

Программка из книги Подбельского опять таки. Показывает размер необходимый для хранения констант чисел различных типов. Так вот, в книжке пишется, что числа 111, 111u и 40000u занимают по 2 байта, и это понятно. Но в результате выполнения кода выводится, что все перечисленные здесь типы констант занимают по 4 байта. Почему ?
Примерно та же проблема с размерами памяти для вещественных констант.


Приложение:


Вопрос отправлен: 12.06.2003, 14:10
Отправитель: Challenger

[Следующий вопрос >>] [Список вопросов]

Отвечает vitya

Здравствуйте, Challenger!
Дело в том, что Подбельский писал свою книжку под дос (Borland C++3.1 и может быть 4.5), где int и unsigned int занимали по два байта. Вы же скорее всего компилируете под Windows, где int занимает 4 байта. Вот и весь секрет.

Ответ отправлен: 12.06.2003, 14:24
Отправитель: vitya


Отвечает Yuri Gordienko

Добрый день, Challenger!
Используй явное приведение, т.к. откуда компилятору знать,
111 это char или int?
Успехов

Ответ отправлен: 12.06.2003, 16:02
Отправитель: Yuri Gordienko


Отвечает BOLT

Доброе время суток, Challenger!
Птому что ты компелировал программу в Windows, которая есть 32-разрядная, т.е. память адресуется по 4 байта(32 bit).Скомпелируй программу под DOS и ты увидишь, что автор прав, потому что он сам ,по-видимому , компелировал ее в DOS.
Да прибудет с тобой Велика Сила!

Ответ отправлен: 13.06.2003, 23:05
Отправитель: BOLT


 Вопрос № 852

Привет.
Просто хочу узнать ести ли вообще в природе мсдн на русском языке??? И еще. вы случаем не знаете где бы можно было раздобыть (в смысле скачать, так как никакого мсдна я в переходах за 10грн я не нашел...:() хелп по Вин32 СДК??? желательно на русском... но можно и на английском языке.
Спасибо за любую помощь.



Вопрос отправлен: 12.06.2003, 14:45
Отправитель: hhh (pooh@apexnet.com.ua)

[Следующий вопрос >>] [Список вопросов]

Отвечает Yuri Gordienko

Добрый день, hhh!
На русском MSDN'а нет, так как напряжно два гига перевести. Если можешь скачать три диска по 650 метров, то лови урлы (выпуск апрель 2003) - я себе качал.
http://download.microsoft.com/download/b/d/c/bdccea1b-96d9-4ad9-8045-56619af95835/qtr40enud1.img
http://download.microsoft.com/download/b/d/c/bdccea1b-96d9-4ad9-8045-56619af95835/qtr40enud2.img
http://download.microsoft.com/download/b/d/c/bdccea1b-96d9-4ad9-8045-56619af95835/qtr40enud3.img
Успехов

Ответ отправлен: 12.06.2003, 16:06
Отправитель: Yuri Gordienko


Отвечает BOLT

Добрый день, hhh!
1)MSDN на русском нет.Кто захочет переводить 2,5 Гбайт?
2)На английском http://msdn.microsoft.com.Видел русский перевод, так я тебе сразу скажу, чтобы ты потом не мучался: это тоже самое как Пушкина на китайском читать!Лучше сразу на английском, чтобы ты смог дальше учится.А то представь: начал ты учить на русском языке, поучил, поучил, а документация закончилась где-то на 1,5-2 процента(столько примерно составляет перевод на русский язык от англ).Ну и ты конечно переходишь на англ.Так может лучше сразу на англ, чем потом только сопеть и проклинать все и всех?
Да прибудет с тобой Велика Сила!


Ответ отправлен: 13.06.2003, 23:05
Отправитель: BOLT


 Вопрос № 854

2 KoDMaster: Сорри за настойчивость - опять про сервис. Кинь, плз, исходником сервиса, который _не грузит_ проц.
Once Again: BCB5.5 Win2KServ. при попытке запуска сервиса, сгенеренного визардомсодранного с книгивыдранного из хэлпа, загрузка процессора прыгает на 100% и устойчиво там держится. Знаю, что это из-за какого-то внутреннего цикла того компонента. Кто знает, как с этим бороться или с чем это связано?



Вопрос отправлен: 12.06.2003, 20:27
Отправитель: eGlyph

[Следующий вопрос >>] [Список вопросов]

Отвечает BOLT

Добрый день, eGlyph!
Сам не могу помочь, но знаю где помогут.Сходи на http://rsdn.ru, там найди архив рассылки, потом поищи инфу о регистрации сервисов в Windows2k.Это там точно есть.
Да прибудет с тобой Велика Сила!

Ответ отправлен: 13.06.2003, 23:04
Отправитель: BOLT



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (38)
C / C++ (29)
Perl (7)
Builder / Delphi (19)
Pascal (31)
Basic / VBA (12)
Java / JavaScript (11)
PHP (7)
MySQL / MSSQL (7)
Пользователю
Windows 95/98/Me (32)
Windows NT/2000/XP (29)
"Железо" (21)
Поиск информации (15)
Администратору
Windows NT/2000/XP (15)
Linux / Unix (7)
Юристу
Гражданское право (7)
Семейное право (3)
Трудовое право (4)
КоАП (3)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное