Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 04.05.2014
Сообщений: 67
1

Warning C4244: инициализация: преобразование "__int64" в "int", возможна потеря данных

31.08.2014, 22:48. Показов 3597. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Что за предупреждение вылезает? Как исправить?
(16 строка): warning C4244: инициализация: преобразование "__int64" в "int", возможна потеря данных



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
 
using namespace std;
 
int main()
{
    long long number_seconds;
 
    cout << "Enter the number of seconds: ";
        cin >> number_seconds;
 
    const int number_of_hours_in_day = 24;
    const int number_of_minutes_in_hour = 60;
    const int number_of_senonds_in_minute = 60;
 
    int temp_days = number_seconds / (number_of_hours_in_day * number_of_minutes_in_hour * number_of_senonds_in_minute);
 
    int temp1_seconds = number_seconds % (number_of_hours_in_day * number_of_minutes_in_hour * number_of_senonds_in_minute);
    int temp_hours = temp1_seconds / (number_of_minutes_in_hour * number_of_senonds_in_minute);
 
    int temp2_seconds = number_seconds % (number_of_minutes_in_hour * number_of_senonds_in_minute);
    int temp_minutes = temp2_seconds / number_of_senonds_in_minute;
 
    int temp_finaly_seconds = temp2_seconds % number_of_senonds_in_minute;
 
    cout << number_seconds << " seconds: " << temp_days << " days, "
         << temp_hours << " hours, " 
         << temp_minutes << " minutes, "
         << temp_finaly_seconds << " seconds."<< endl;
 
 
 
 
 
 
 
 
 
 
 
 
    cin.get();
    cin.get();
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.08.2014, 22:48
Ответы с готовыми решениями:

Warning C4244: аргумент: преобразование "__int64" в "long", возможна потеря данных
Компилятор выдаёт предупреждение: warning C4244: аргумент: преобразование &quot;__int64&quot; в &quot;long&quot;,...

Warning C4244: return: преобразование "double" в "float", возможна потеря данных
помогите разобраться. пишу программу в функции выдает ошибку в строке с return &quot;warning C4244:...

warning C4244: =: преобразование "double" в "float", возможна потеря данных
Вот код. Работало, теперь не работает. Не пойму в чём дело. #include&lt;iostream&gt;...

Warning C4244: =: преобразование "double" в "float", возможна потеря данных
Возникла проблема Решаю лабу, написал код, выдает ошибку (warning C4244: =: преобразование...

warning C4244: аргумент: преобразование "time_t" в "unsigned int", возможна потеря данных
#include &lt;clocale&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt;...

18
1405 / 647 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
31.08.2014, 22:49 2
Вместо int везде поставить long long
1
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
31.08.2014, 22:53 3
Цитата Сообщение от Nordener Посмотреть сообщение
long long number_seconds;
64 байта
Цитата Сообщение от Nordener Посмотреть сообщение
int temp_days = number_seconds / (n
32 байта
вот и говорит что если в number_seconds буде число больше чем 232 старшие разряды потеряются
1
1405 / 647 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
31.08.2014, 22:54 4
Цитата Сообщение от ValeryS Посмотреть сообщение
32 байта
бита
1
ValeryS
31.08.2014, 22:57
  #5

Не по теме:

Цитата Сообщение от Dani Посмотреть сообщение
бита
да:(
когда пишу все время путаю:cry:

0
Tulosba
31.08.2014, 22:58
  #6

Не по теме:

ValeryS, что-то уже во второй теме биты с байтами путаешь :) Спать пора, зима близко :)

0
0 / 0 / 1
Регистрация: 04.05.2014
Сообщений: 67
31.08.2014, 23:02  [ТС] 7
Всем спасибо, а как манера написания кода? Норм, или переменные слишком длинные?
0
2443 / 1841 / 406
Регистрация: 15.12.2013
Сообщений: 8,238
31.08.2014, 23:05 8
Nordener, лучше так,чем a,b,c.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
31.08.2014, 23:09 9

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
ValeryS, что-то уже во второй теме биты с байтами путаешь
если б во второй :cry: по жизни путаю


Цитата Сообщение от Nordener Посмотреть сообщение
Норм, или переменные слишком длинные?
главное чтоб тебе удобно было
но
Цитата Сообщение от Nordener Посмотреть сообщение
number_
по моему лишнее, тавтология получается
да и
Цитата Сообщение от Nordener Посмотреть сообщение
seconds
я бы написал sec, а то разночтение может быть или "секунды" или "товары второго сорта"
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
31.08.2014, 23:09 10
Цитата Сообщение от Nordener Посмотреть сообщение
number_of_hours_in_day
имхо, "number_of" тут и в других переменных излишне, "hours_in_day" вроде как и так самодостаточно..
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
31.08.2014, 23:10 11
Цитата Сообщение от Nordener Посмотреть сообщение
а как манера написания кода?
number_of я бы вообще убрал, да и temp|temp2 как-то совсем ни о чем.
Значение в 7 строке лучше инициализировать нулём во избежании ошибок ввода (хотя с одной переменной это вроде бы не критично).
0
KOPOJI
31.08.2014, 23:10
  #12

Не по теме:

опоздал я со своим имхо..

0
Tulosba
31.08.2014, 23:12
  #13

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
если б во второй по жизни путаю
Ну я только сегодня заметил. Может у тебя байт как минимальная единица адресации? :D

0
ValeryS
31.08.2014, 23:15
  #14

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
Может у тебя байт как минимальная единица адресации?
неа :)
когда работаю не путаю, а когда пишу ответы то постоянно
может на аглицкий перейти (bit, byte):scratch:

0
Tulosba
31.08.2014, 23:16
  #15

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
может на аглицкий перейти (bit, byte)
Раньше надо было, когда на форуме он поддерживался. Теперь уже поздняк метаться :)

0
ValeryS
31.08.2014, 23:17
  #16

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
Может у тебя байт как минимальная единица адресации?
так по моему таки есть:scratch:
бит-минимальное количество информации
байт- минимальная ячейка адресации:scratch:

0
Dani
31.08.2014, 23:19
  #17

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
Раньше надо было, когда на форуме он поддерживался. Теперь уже поздняк метаться
1.4. Официальными языками форума являются русский и английский языки. Размещение сообщений на других языках запрещено.

0
Tulosba
31.08.2014, 23:22
  #18

Не по теме:

Цитата Сообщение от Dani Посмотреть сообщение
1.4. Официальными языками форума являются русский и английский языки.
Ну я имел в виду комбобокс выбора языка вообще-то. Хотя теперь логично и запретить, кто ж будет при исключительно русском интерфейсе на английском писать. Ну если только не цитаты приводить из Стандарта или SOFа.

0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
31.08.2014, 23:22 19
Господа, а давайте прекратим оффтопить?
по крайней мере, в этой теме..
0
31.08.2014, 23:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.08.2014, 23:22
Помогаю со студенческими работами здесь

Предупреждение "преобразование из size_t в int возможна потеря данных"
Привожу код прораммы long long packet_size = 0; packet_size = recv(MyClientConn,...

Ошибка преобразование "time_t" в "unsigned int", возможна потеря данных
Добрый день,по условию задачи: &quot;найти сумму элементов,расположенных на главной и побочной диагонали...

Преобразование "int" в "float", возможна потеря данных
Пытаюсь в sfml, но на данный код: for (int i = 0; i &lt; 10; ++i) { for (int j = 0; j &lt; 10; ++j)...

Как исправить? warning C4244: 'initializing' : conversion from 'int' to 'float' [Код внутри]
В результате если ввести 3 5 6 9 11 (оно должно сложить 5+6+9 и разделить эту сумму на три) выдаёт...

warning C4244: =: преобразование "double" в "float
Объясните нубу пожалуйста, почему выкидывает это предупреждение ? warning C4244: =:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru