Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/22: Рейтинг темы: голосов - 22, средняя оценка - 5.00
Сонный металюга
 Аватар для Акелла
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295

типы данных

09.06.2009, 12:36. Показов 5154. Ответов 45
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
на Си реализовать: (не С++)
построить функцию, возвращающую все байты заданного вещественного х в целом виде.
т.е. нам например вводят 10 как float, а нам нужно вернуть его как int, елси наоборот -это просто.... а вот так...
кто подскажет?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.06.2009, 12:36
Ответы с готовыми решениями:

Типы данных: есть ли универсальный тип, который может заменить все типы данных в Си?
Добрый вечер! Был бы очень признателен, если бы Вы помогли бы мне понять нижеследующие вопросы: 1. Можете ли на понятным для...

Типы данных: чем отличается тип данных int от float?
Всем привет! Помогите пожалуйста, чем отличается тип данных int от float?

Чтение недопустимых данных, динамические массивы, типы данных
Добрый день, реализую метод интерполяции сплайнами на С++, при подсчете одного из коэффициентов появляется данное сообщение. "...

45
Сонный металюга
 Аватар для Акелла
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
10.06.2009, 23:44  [ТС]
Студворк — интернет-сервис помощи студентам
вывел следующее:
2
4
4

Добавлено через 1 минуту 47 секунд
вывод заменил, теперь получаем так:
C++
1
2
3
size = 4 4
fval=1.234500
u.i=1067320345
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21286 / 8311 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
10.06.2009, 23:50
Цитата Сообщение от Акелла Посмотреть сообщение
вывел следующее:
2
4
4
Итого, получаем следующее. Я хотел выяснить размер типов, используемых в твоём компиляторе. У профессионального программиста я бы получил ответ за 5 секунд. У непрофессионального программиста - за 2 минуты (т.е. надо было влепить код из поста 14, и показать выдачу). У непрофессионального программиста, который любит много думать - более часа и более 20 постов на форуме. Постарайся всё-таки не допускать таких ляпусов Делай то, о чём тебя просят - быстрее решишь свою задачу

Цитата Сообщение от Акелла Посмотреть сообщение
вывод заменил, теперь получаем так:
C++
1
2
3
size = 4 4
fval=1.234500
u.i=1067320345
Это правильный вариант. ТОлько в десятичном виде. Если нужно в 16-ричном, то печтать надо через "%lx" (вместо "%ld"). В в main замени "%i" на "%ld" или "%lx" (что больше нравится)

Суть проблемы была написана изначально. В union'е в качестве целого типа надо поставить тот, чей размер равен 4 байтам (размеру float'а)
1
Сонный металюга
 Аватар для Акелла
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
10.06.2009, 23:53  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
У непрофессионального программиста - за 2 минуты (т.е. надо было влепить код из поста 14, и показать выдачу). У непрофессионального программиста, который любит много думать - более часа и более 20 постов на форуме.
спасибо порадовал=)
ну нет, надо же думать - просто переписывать я не хочу, толку то от меня тогда и грош мне цена коли не учусь=)



Цитата Сообщение от Evg Посмотреть сообщение
Это правильный вариант. ТОлько в десятичном виде. Если нужно в 16-ричном, то печтать надо через "%lx" (вместо "%ld"). В в main замени "%i" на "%ld" или "%lx" (что больше нравится)
а, то есть выводит он верно.. эм.. а вариант так чтобы вводим например 1,2345 а он выводит (возвращает то етсь) нам 12345 нет?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21286 / 8311 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
11.06.2009, 00:00
Цитата Сообщение от Акелла Посмотреть сообщение
спасибо порадовал=)
ну нет, надо же думать - просто переписывать я не хочу, толку то от меня тогда и грош мне цена коли не учусь=)
Наверно изначально нужно было сказать, что я прошу тебя влепить этот код не потому, что я его за тебя написал, а для того, чтобы выяснить, в чём проблема. Просто суть задачи ты понял, но подводных камней (типа размеры базовых типов) по совей неопытности пока не видишь. А суть подводного камня я достаточно чётко не обрисовал. Проблему в BullDogoff мы обсудили, но ты этого не понял. А я со своей стороны поленился довести это до тебя

Цитата Сообщение от Акелла Посмотреть сообщение
а, то есть выводит он верно.. эм.. а вариант так чтобы вводим например 1,2345 а он выводит (возвращает то етсь) нам 12345 нет?
Такой вариант не удовлетворяет постановке задачи. Но если очень хочится - вводишь строку и удаляешь в ней точку. По другому никак. Если 1.2345 представляется точно, то какое-нибудь 1.333 - нет (ну или просто подобрать число). Т.е. уже на этапе формирования этого числа в виде float'а ты потеряешь его истинное значение
1
Сонный металюга
 Аватар для Акелла
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
11.06.2009, 00:08  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
Просто суть задачи ты понял, но подводных камней (типа размеры базовых типов) по совей неопытности пока не видишь.


Evg, еще разз спс огромное , кажеться понял что и зачем все... сейчас еще раз просмторю объединение, чтобы запомнить принцип.

кстати, можешь про объединение в двух словах как про структуру данных?

я для себя полистал справочник - узнал что это структура, элементы которой расположенны по одному и тому же адресу, откда следует что ее размер определяеться размером наибольшего элемента и в любой момент времени оно омжет хранить только один элемент.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21286 / 8311 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
11.06.2009, 08:46
> откда следует что ее размер определяеться размером наибольшего элемента

ага

> и в любой момент времени оно омжет хранить только один элемент

скахано несколько коряво, но смысл примерно такой. Объединение сделано для того, чтобы хранить непересекающиеся данные в одном месте памяти. Условно говоря, есть у тебя пониятие фигуры, а есть атрибуты фигуры. Для круга это радиус, для квадрата - сторона, для прямойугльника две стороны. Фигура у тебя может быть только чем-то одним, а потому иместь свойство только одной фигуры. На пальцах примерно так (для поля type лучше использовать enum, но лениво писать)

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
struct figura
{
  int type; // 1 - круг, 2- квадрат, 3 - прямоугольник
  union
  {
    int radius; // если type==1, то радиус круга
    int side; // если type==2, то сторона квадрата
    struct
    {
      int x;
      int y;
    } sides; // если type==3, то стороны прямоугольник
  } property;
};
 
void create_circle (struct figura *f, int raduis)
{
  f->type = 1;
  f->property.radius = radius;
}
 
void create_rectangle (struct figura *f, int x, int y)
{
  f->type = 3;
  f->property.sides.x = x;
  f->property.sides.y = y;
}
 
void draw (struct figura *f)
{
  switch (f->type)
  {
    case 1:
      draw_circle (t->property.radius);
      break;
    case 3:
      draw_rectangle (t->property.sides.x, t->property.sides.y);
      break;
  }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.06.2009, 08:46

Типы данных
Здравствуйте! В результате программа должна выводить типы данных переменных и их значения. Но почему-то вместо полного названия типа,...

Типы данных
__int64 Z = pow(a,x); long double Y = 9/Z; cout<<Y //Y = 0 Как вывести подробней? Добавлено через 6 минут И при Y%Z не...

типы данных
какой диапазон данных у main, getch? и какой тип данных у getch?

Типы данных
Здраствуйте, столкнулся с ситуацией, что необходимо возвести число в факториал. Задача не сложная, но число может быть огромным. Я знаю...

типы данных
int x1, x2; float summa; x1 = 5; x2 = 6; summa = (x1 + x2)/2; cout << summa << endl; почему в результате 5, а не...


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

Или воспользуйтесь поиском по форуму:
46
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru