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

типы данных

09.06.2009, 12:36. Показов 4552. Ответов 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
09.06.2009, 17:15  [ТС]
Студворк — интернет-сервис помощи студентам
Evg, опа, а я почему то думал тчо так явно нельзя! спс огромное - вбил, прогнал пашет=)
ну, опыт сын ошибок трудных=)
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
09.06.2009, 17:19
Цитата Сообщение от Акелла Посмотреть сообщение
Evg, опа, а я почему то думал тчо так явно нельзя! спс огромное - вбил, прогнал пашет=)
ну, опыт сын ошибок трудных=)
Только всё равно мне кажется, что для задачи нужно не это, ибо смысла в такой задаче нет. Ты всё-таки уточни
0
Сонный металюга
 Аватар для Акелла
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
09.06.2009, 17:21  [ТС]
Evg, завтра как раз узнаю.
знаешь - наш препод мог спокойнойд дать
у него в обычае дать на контроьной кусок кода и сказать -вот напишите что он выведет когда на входе то и то...
а на самом деле прога вообще не рабочая и он это знает
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
09.06.2009, 17:34
Ну а такая постановка задачи сводится по сути к тому, что напишите прогу, которая нифига не делает
0
 Аватар для BullDogoff
10 / 10 / 1
Регистрация: 16.05.2009
Сообщений: 30
09.06.2009, 17:35
Весёлый у вас препод.. Вообще в следующий раз задание дословно приводи, и пример, если получится.. Хотя полезно получилось, так я бы объединения и не попробовал бы в работе
1
Сонный металюга
 Аватар для Акелла
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
09.06.2009, 17:39  [ТС]
BullDogoff, а я теперь в принципе знаю что етсь что то такое=)
веселый это еще слабо сказано, но ладно не в этом суть=)
0
Сонный металюга
 Аватар для Акелла
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
10.06.2009, 22:17  [ТС]
BullDogoff, Evg, преподу показал... вы правы были ребята, короче суть в следующем
например приходит число 123,45 - вещественное
нужно вернуть целое 12345, т.е. все биты
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
10.06.2009, 22:31
Уверент? Потому как очередной бред. Если введут 1.22222222222222222222222222222, то у тебя нет целого числа, чтобы это дело представить. Не говоря уж о том, что плавающие числа в общем случае не представляются без округления
0
Сонный металюга
 Аватар для Акелла
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
10.06.2009, 22:34  [ТС]
Evg, нет, не очень уверен=) просто черезъ объединения было верно... но выводить оно должно нечто похожее на введеное.

ну вообще дословно формулировка:
построить функцию, возвращающую все байты заданного вещественного х в целом виде. может я уже не так все понимаю?=)
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
10.06.2009, 22:46
Вот при такой формулировке и нужно работать через union

#include <stdio.h>

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int
func (float fval)
{
  union
  {
    float f;
    int i;
  } u;
 
  u.f = fval;
  return u.i;
}
 
int
main (void)
{
  int i;
 
  i = func (1.2345);
  printf ("0x%08x\n", i);
 
  return 0;
}
Code
1
0x3f9e0419
При условии, что sizeof(int)==4 и sizeof(float)==4

Добавлено через 33 секунды
То 16-ричное число, которое ты видишь - вот так твоё плавающее число хранится в памяти
0
Сонный металюга
 Аватар для Акелла
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
10.06.2009, 22:49  [ТС]
Evg, подожди, а чего оно выведет то? вот то что ты написал:


Цитата Сообщение от Evg Посмотреть сообщение
0x3f9e0419
а, по началу не заметил дополнение про 16 -ричное... хммм..
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
10.06.2009, 22:51
ага
0
Сонный металюга
 Аватар для Акелла
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
10.06.2009, 22:52  [ТС]
а почему в 16-ти ричном виде а не в десятичном?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
10.06.2009, 22:55
Ну пиши в десятичном, какая разница Просто в шестнадцатиричном виде удобнее воспринимать, ибо оно в уме переводится в двоичный (а в машине всё в даоичном виде)
0
Сонный металюга
 Аватар для Акелла
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
10.06.2009, 23:06  [ТС]
попробовал, старнно..выводит не как у тебя а:
0х00000419
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
10.06.2009, 23:18
Я ведь уже писал тебе - пост #14. И покажи потом веь исходник программы
0
Сонный металюга
 Аватар для Акелла
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
10.06.2009, 23:23  [ТС]
исплонил=) ну в смысле что проверяю ввод -с ним все нормально....
постарасля сделат ьвывод в десятичной форме для целого.. что то я явно не так делаю:

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
#include <stdio.h>
#include <conio.h>
 
int func (float fval)
{
  union
  {
    float f;
    int i;
  } u;
 
  u.f = fval;
  return u.i;
}
 
int main (void)
{
  int i;
  float x;
  clrscr();
  printf("\n\t enter x: ");
  scanf("%f",&x);
  i = func (x);
  printf ("\n\t%f",x);
  printf ("\n\t%i\n", i);
  getch();
  return 0;
}
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
10.06.2009, 23:25
Акелла, ну не тормози пожалуйста. Возьми код из поста 14, покажи итоговый код и покажи что печатает. Блин вот в очередной раз две страницы форума уйдёт на то, чтобы ты сделал то, что тебя просят
0
Сонный металюга
 Аватар для Акелла
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
10.06.2009, 23:32  [ТС]
=)))
сделано -вот смотри - тот код что не в коментариях -из 14 поста.
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
#include <stdio.h>
#include <conio.h>
long int func (float fval)
{
  union
  {
    float f;
    long int i;
  } u;
 
  printf ("sizes = %d %d\n", sizeof (u.i), sizeof (u.f));
  printf ("fval=%f\n", fval);
  u.f = fval;
  printf ("u.i=%d\n", u.i);
  return u.i;
}
/*int func (float fval)
{
  union
  {
    float f;
    int i;
  } u;
 
  u.f = fval;
  return u.i;
}*/
 
int main (void)
{
  long int i;
  float x;
  clrscr();
  printf("\n\t enter x: ");
  scanf("%f",&x);
  i = func (x);
  printf ("\n\t%f",x);
  printf ("\n\t%i\n", i);
  getch();
  return 0;
}
а на экран он выводит во чего:

C++
1
2
3
size = 4 4
fval=1.234500
u.i=1024
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
10.06.2009, 23:37
Епона-мама. Ты взял тот код и заменил int на long. ТОгда уж и печать меняй

15 строка - printf ("u.i=%ld\n", u.i);

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

C
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
 
int main (void)
{
  printf ("int=%d\n", (int)sizeof(int));
  printf ("long=%d\n", (int)sizeof(long));
  printf ("float=%d\n", (int)sizeof(float));
 
  return 0;
}
ТОЛЬКО НИЧЕГО В ЭТОМ КОДЕ НЕ МЕНЯЙ! Кроме синтаксических ошибок
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.06.2009, 23:37
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru