Форум программистов, компьютерный форум CyberForum.ru

Целые типы данных - C++

Восстановить пароль Регистрация
 
Donald_Duck
 Аватар для Donald_Duck
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 6
17.03.2013, 18:33     Целые типы данных #1
Всем привет!
Знаю что сейчас засмеют, но всё же.
Вопрос:
Если k является переменной типа int, то чему будет равна k после выполнения выражения k = 1000 * 2000? А если k объявить как переменную типа long, то чему будет равно значение переменной в этом случае?
Делаю так:
C
1
2
3
4
5
6
7
8
9
10
11
#include "stdafx.h"
#include <stdio.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    int k;
    k=1000*2000;
    printf("K= %d",k);
    getchar();
    return 0;
}
В консоле ответ 200000. Тот же ответ если k объявить как переменную типа long.
Что я не так сделал, ведь ответы должны быть разными.
P.S: Язык С начал учить только вчера вечером.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2013, 18:33     Целые типы данных
Посмотрите здесь:

Типы данных C++
Типы данных C++ C++
Типы Данных C++
типы данных C++
про целые типы переменных C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
17.03.2013, 18:46     Целые типы данных #2
в обычный int влазит число от -2 147 483 648 до 2 147 483 647, по этому всё в программе верно, а вот если сделать 400000*400000 к примеру, то будет потеря точности

Добавлено через 1 минуту
ответы разными быть не должны, с чего бы вдруг
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
17.03.2013, 18:51     Целые типы данных #3
Цитата Сообщение от Donald_Duck Посмотреть сообщение
ответы должны быть разными.
Не должны - могут (если инт - 16 бит, например, тогда диапозона не хватит для 2000000).
Donald_Duck
 Аватар для Donald_Duck
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 6
17.03.2013, 18:56  [ТС]     Целые типы данных #4
Цитата Сообщение от Кудаив Посмотреть сообщение
в обычный int влазит число от -2 147 483 648 до 2 147 483 647, по этому всё в программе верно, а вот если сделать 400000*400000 к примеру, то будет потеря точности

Добавлено через 1 минуту
ответы разными быть не должны, с чего бы вдруг
С long всё понятно.
У int предел 32764, а unsigned int предел 65535, я подумал, что если в ответе 200000, то должна быть потеря точности.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
17.03.2013, 19:02     Целые типы данных #5
Цитата Сообщение от Donald_Duck Посмотреть сообщение
С long всё понятно.
У int предел 32764, а unsigned int предел 65535, я подумал, что если в ответе 200000, то должна быть потеря точности.
От архитектуры зависит: http://en.cppreference.com/w/cpp/lan...pes#Properties .
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
17.03.2013, 19:13     Целые типы данных #6
Цитата Сообщение от Donald_Duck Посмотреть сообщение
У int предел 32764, а unsigned int предел 65535
стоп. это у шорт такие пределы на 32-ух битке, или у инта на 16 - ти битке

Цитата Сообщение от gray_fox Посмотреть сообщение
Не должны - могут (если инт - 16 бит, например, тогда диапозона не хватит для 2000000).
чего то вы ребята путаете, инта на 4 байта хватает на 2 миллиарда с лишним
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2013, 23:04     Целые типы данных
Еще ссылки по теме:

C++ Целые типы
Типы данных C++
Типы данных: есть ли универсальный тип, который может заменить все типы данных в Си? C++

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

Или воспользуйтесь поиском по форуму:
Donald_Duck
 Аватар для Donald_Duck
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 6
17.03.2013, 23:04  [ТС]     Целые типы данных #7
Всем спасибо!
Нашел один пост, в нем данная тема уже обсуждалась:
Зачем нужны разнообразные целые типы переменных?
Всё понял
Yandex
Объявления
17.03.2013, 23:04     Целые типы данных
Ответ Создать тему
Опции темы

Текущее время: 04:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru