Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
|
1 | |
типы данных09.06.2009, 12:36. Показов 3986. Ответов 45
Метки нет (Все метки)
на Си реализовать: (не С++)
построить функцию, возвращающую все байты заданного вещественного х в целом виде. т.е. нам например вводят 10 как float, а нам нужно вернуть его как int, елси наоборот -это просто.... а вот так... кто подскажет?
0
|
09.06.2009, 12:36 | |
Ответы с готовыми решениями:
45
Типы данных: есть ли универсальный тип, который может заменить все типы данных в Си? Типы данных: чем отличается тип данных int от float? Чтение недопустимых данных, динамические массивы, типы данных Типы данных |
10 / 10 / 1
Регистрация: 16.05.2009
Сообщений: 30
|
||||||
09.06.2009, 13:35 | 2 | |||||
Используй объединение (union), как-то так:
0
|
Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
|
09.06.2009, 13:37 [ТС] | 3 |
не понял, можешь по подробней?
и... это не С++ операция?
0
|
10 / 10 / 1
Регистрация: 16.05.2009
Сообщений: 30
|
|
09.06.2009, 13:55 | 5 |
Дык я ж погуглил.. Говорят - родная сишная фишка.. Вообще очень полезная штука, а для твоих целей - самое оно..
union - это область памяти, где одновременно могут храниться объекты разных типов.. Ну, это по книжке)) Т.е., в данном случае, ты объявляешь переменную qqq типа Q, вводишь переменную типа float в qqq.F, а потом считываешь каждый байт отдельно из массива qqq.C[], т.к. это тот же самый участок памяти. Посмотри только размер float у себя, как правило, четыре байта, но мало ли.. Я предпочитаю перестраховаться.. Например, у меня int занимает четыре байта, а у кого-то - слово, т.е. два байта.. char всегда байт, соответственно задавай размер массива.. ВооодЪ.. Путано слегка, но, надеюсь, понятно приблизительно? З.Ы.: Балин, опять не успел..
1
|
Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
||||||
09.06.2009, 14:02 [ТС] | 6 | |||||
попробовал. выдает ноль. вот код:
BullDogoff, а можешь быстренько переписать мой код под твою функцию? я так понял на словах - с синтаксисом таким еще не работал
0
|
591 / 357 / 16
Регистрация: 06.02.2009
Сообщений: 1,386
|
|
09.06.2009, 14:05 | 8 |
0
|
Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
|
09.06.2009, 14:08 [ТС] | 9 |
упорно выводит что iteger: 0
Добавлено через 2 минуты 14 секунд RazorQ, нифига.. он же должен преобразовать в инт.. тем более что попробовал всеравно никак
0
|
10 / 10 / 1
Регистрация: 16.05.2009
Сообщений: 30
|
||||||
09.06.2009, 14:11 | 10 | |||||
На плюсах это выглядит следующим образом:
0
|
Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
|
09.06.2009, 14:14 [ТС] | 11 |
бог с нми с выводом.. он выдает правда..эм...
вообще ввожу 5, получаю: 0 0 64 64
0
|
Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
|
09.06.2009, 14:19 [ТС] | 13 |
воткнул. косячит у меня функция. уж такое то я контролирую...
ввожу 5, printf ("x=%f\n", x); выводит мне 5.0000 с ноликами то бишь а функция выдает просто голый ноль
0
|
09.06.2009, 14:23 | 14 | |||||
В задче написано, написать функцию, ВОЗВРАЩАЮЩУЮ
Хотя спорить не хочется, ибо какая в пень разница, так делать или эдак Добавлено через 1 минуту 38 секунд К тому же у меня всё отработало Код
Enter nomber: 1.234 Integer: 1067316150 Ну хотьнапиши об этом, чтобы не было ощущения, что говорю впустую
0
|
инженер-системотехник
111 / 111 / 5
Регистрация: 10.03.2009
Сообщений: 533
|
|||||||||||
09.06.2009, 14:28 | 15 | ||||||||||
А разве не будет косяков из-за такой записи?
Наверно, правильней так
0
|
09.06.2009, 14:33 | 16 |
Если писать на все случаи жизни - то вообще неизвестно, что должно быть, ибо язык Си тебе не даёт вообще никакой гарантии, что у тебя float 4 байта и что какойто целый тип занимает 4 байта.
Я так понимаю, что у автора всё-таки компилятор под винду под режим 32 и писал в этом предположении. Но на всякий случай в своём последнем посте воткнул печать размеров типов
1
|
Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
|
09.06.2009, 14:44 [ТС] | 17 |
тем не менее... ребят, вы мне объясните принцип как это делаеться -я сам лучше напишу.. хоть воткну... а то я что то слабо улавливаю когда так
0
|
Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
|
09.06.2009, 17:09 [ТС] | 19 |
не, ребят. я упорно не понимаю.. либо мы о разном говорим..
смотрите -вводиться например у нас 10.000 ну то бишь вещественное.. .а вернуть должно 10 то есть целое...
0
|
09.06.2009, 17:11 | 20 | |||||
1
|
09.06.2009, 17:11 | |
09.06.2009, 17:11 | |
Помогаю со студенческими работами здесь
20
Типы данных типы данных Типы данных типы данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |