Моё меню Общее меню Пользователи Правила форума Все прочитано
Вернуться   uForum.uz > ИКТ и телеком > IT-индустрия > Софт > Программирование > C/C++, Прикладные вопросы
Регистрация
Знаете ли Вы, что ...
...нарушения правил форума наказываются. Старайтесь их не нарушать.
<< Предыдущий совет - Случайный совет - Следующий совет >>

C/C++, Прикладные вопросы Программирование на C++. No VCL, no MFC, pure C++ only. Прикладные библиотеки и компоненты для C или C++ и тому подобные вопросы.


Ответить

 
Опции темы Опции просмотра
Старый 23.02.2009 11:22   #1  
Real ID Group
Аватар для Botirbek Samandarov
Оффлайн
AKA:sbssoft
Сообщений: 138
+ 1  2/2
– 0  0/0

UzbekistanОтправить сообщение для Botirbek Samandarov с помощью Skype™Мой КругМой мир
Непонятные результаты

Вчера случайно заметил вот что
на vc++ 6.0 написал код
Код:
#include <iostream.h>
main()
{
cout<<"\n sizeof(char)="<<sizeof(char)
	<<"\n sizeof(int)=" <<sizeof(int)
	<<"\n sizeof(float)="<<sizeof(float)
	<<"\n sizeof(double)="<<sizeof(double)<<"\n";
}
результат


и проверил на TC++ 3.0 результат


Плз, обьясните - почему на vc++ size int равно на 4 а TC++ 3.0 на 2, если кто то в курсе, искал в литературах не смог найти ничего
Ответить 
Старый 23.02.2009 14:06   #2  
Real ID Group
Аватар для Rooslan Khayrov
Оффлайн
Google
software engineer
AKA:Y combinator
Сообщений: 417
+ 114  372/182
– 6  9/8

Switzerland
C++ никак не фиксирует размеры целых типов, они зависят от архитектуры компьютера. TC++ работает в 16-битном окружении DOS, VC++ — в 32-битном Windows, вот и всё.
В стандарте C++ (ISO/IEC 14882:2003) записано следующее:
Цитата:
3.9.1/2
There are four signed integer types: “signed char”, “short int”, “int”, and “long int.” In this list, each type provides at least as much storage as those receding it in the list. Plain ints have the natural size suggested by the architecture of the execution; the other signed integer types are provided to meet special needs.
Хотя стандарт был принято много позже появления TC++ 3.0 и даже VC++ 6.0, в этой части отражено реальное положение вещей в подавляющем большинстве существующих компиляторов.
Таким образом, int должен иметь размер, с которым процессор данной архитектуры работает наиболее эффективно, а о размерах остальных типов утверждается лишь то, что:
sizeof(char) ≤ sizeof(short) ≤ sizeof(int) ≤ sizeof(long)

Размеры типов — это то, к чему следует относиться очень осторожно при переносе программ на другую архитектуру, и делать минимум предположений. Например, Visual C++ на x86-64 имеет sizeof(int) = sizeof(long) = 4 из соображений обратной совместимости, но при этом sizeof(T*) = 8 — глаз да глаз нужен :-)
Ответить 
2 "+" от:
Старый 23.02.2009 14:25   #3  
Real ID Group
Аватар для Andrew Sklyarevsky
Оффлайн
Сообщений: 135
+ 22  63/50
– 1  0/0

UzbekistanОтправить сообщение для Andrew Sklyarevsky с помощью ICQLiveJournal
В C++ размер числовых типов зависит от компилятора. Соответственно, для 32-х битных сред (Visual C++) размер int - 4 байта (32 бита), для 16-битных (DOS, Turbo C++) - 2 байта. С этой странички на Википедии:

Цитата:
Note: C++ has no compiler-independent integer types with fixed bit widths.
Оффтоп:
Пока писал дали более верный и развёрнутый ответ
__________________
Веб-разработчик

Последний раз редактировалось Andrew Sklyarevsky; 23.02.2009 в 14:27.
Ответить 
Старый 23.02.2009 14:40   #4  
Real ID Group
Аватар для Botirbek Samandarov
Оффлайн
AKA:sbssoft
Сообщений: 138
+ 1  2/2
– 0  0/0

UzbekistanОтправить сообщение для Botirbek Samandarov с помощью Skype™Мой КругМой мир
Просто я раньше уделял внимания на размерах типов в С++
По точнее 2004 году преподавал по краткому курсу С++ если не ошибаюсь там было всего 14 часов. И в этом курсе студенты изучали только поверхность языка: Введения, типи, оператор условия, циклы, функции, работа с массивами(В этом курсе не было ни слово о структурах, указателях, классах - но мы знаем основа С++ это классы). И я сама был новичком - 2002 коротко ознакомился структурой программы на С++. Вообщето в эти время писал проги на паскале или на Делфи.
В этом году мне поручили вести занятия по полному курсу С++. Вчера случайно написал несколько проги для примера(по тему указатели).
Я знал что указатели (не смотря его типу) занимает одно и то же память, по точнее равно к типу int.
И в это же время заметил
Ответить 
Старый 23.03.2010 19:43   #5  
Real ID Group
Аватар для Vladislav Gubenko
Оффлайн
ТУИТ
преподаватель
AKA:AquaTropic
Сообщений: 1,044
+ 174  537/289
– 0  4/4

UzbekistanМой Круг
Не хочу открывать новую тему, поэтому пишу здесь:
нужен программист, который напишет на С++ программу для сжатия аудиоинформации. Оплата гарантируется. Предложения в личку.
Ответить 
Старый 23.03.2010 20:42   #6  
Known ID Group uParty Member
Аватар для Dolphin
Оффлайн
Imperium of Man
Inquisitor
Сообщений: 5,990
+ 5,680  4,442/2,033
– 128  137/102

Russian FederationОтправить сообщение для Dolphin с помощью ICQОтправить сообщение для Dolphin с помощью Skype™Facebook
Цитата:
Сообщение от Vladislav Gubenko Посмотреть сообщение
Не хочу открывать новую тему, поэтому пишу здесь: нужен программист, который напишет на С++ программу для сжатия аудиоинформации. Оплата гарантируется. Предложения в личку.
А существующие не устраивают?
Ответить 
Старый 24.03.2010 10:44   #7  
uParty Member Known ID Group
Аватар для DarkUser
Оффлайн
Служу Его Божественной Тени!
Сообщений: 1,671
+ 4,505  1,372/657
– 164  33/27

Uzbekistan
Цитата:
Сообщение от Dolphin Посмотреть сообщение
А существующие не устраивают?
Соглашайся... алгоритмов/кода тоже валом...
__________________
Are you my mommy?
Ответить 
Реклама и уведомления
Старый 24.03.2010 19:27   #8  
Real ID Group
Аватар для Vladislav Gubenko
Оффлайн
ТУИТ
преподаватель
AKA:AquaTropic
Сообщений: 1,044
+ 174  537/289
– 0  4/4

UzbekistanМой Круг
Цитата:
Сообщение от Dolphin Посмотреть сообщение
А существующие не устраивают?
Вопрос не ко мне. Я лишь разместил просьбу преподавателя ТУИТ. Если есть желание, могу дать его контактный телефон.
Ответить 
Старый 26.03.2010 17:40   #9  
Real ID Group
Аватар для Vadim_Zubanov
Оффлайн
ООО
Зам.Дир
AKA:zva
Сообщений: 18,127
+ 1,749  10,703/4,957
– 1  144/130

Uzbekistan
Цитата:
Сообщение от Vladislav Gubenko Посмотреть сообщение
нужен программист, который напишет на С++ программу для сжатия аудиоинформации
А алгоритм есть? Програмист не в состоянии разработать алгоритм сжатия аудиоинформации - он не звукорежиссер и психоакустику и прочие дисциплины не знает.
Ответить 
"+" от:
Старый 26.03.2010 18:46   #10  
Real ID Group
Аватар для Vladislav Gubenko
Оффлайн
ТУИТ
преподаватель
AKA:AquaTropic
Сообщений: 1,044
+ 174  537/289
– 0  4/4

UzbekistanМой Круг
Понятное дело! Есть.
Ответить 
Ответить
Опции темы
Опции просмотра




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Advertisement System V2.5 By Branden
OOO «Единый интегратор UZINFOCOM»


Новые 24 часа Кто на форуме Новички Поиск Кабинет Все прочитано Вверх