Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 21.10.2016
Сообщений: 3
1

Сделать вывод типа float в шаблоне вместо double

21.10.2016, 11:13. Показов 404. Ответов 2
Метки нет (Все метки)

Здравствуйте,уважаемые пользователи.Недавно начал знакомится с шаблонами, и заметил одну вещь которая не дает мне покоя.Суть вот в чем, шаблон template, который сам определяет тип данных,проблема заключается в том что при передачи значения 12.4 на пример, он резервирует переменную типа double, а не float.А ведь 4 байта мы теряем.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <typeinfo>
#include <string>
#include <cstring>
using namespace std;
template<typename TYPE> 
 
 
    void PrintTwice(TYPE data){
        cout<<"vvedita chislo  "<<endl;
        cin>>data;
        cout<<data<<" x 2="<<data *2<<endl;
        cout<<"data typ="<<typeid(data).name()<<endl;
        cout<<"bytes="<<sizeof(data)<<endl;
        
    }
int main(){
 
    PrintTwice(0);
    
}
Есть какие-то решения? или нужно свою функцию писать?
Помогите пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.10.2016, 11:13
Ответы с готовыми решениями:

Передача переменной типа double из c# в переменную типа float в SQL
Здравствуйте, имеется проблема с передачей данных из кода c# в бд SQL Имеется переменная типа...

Преобразование типа double во float
Добрый день! Возникла такая проблема. Написал в 1 строчке то, как мне нужно сделать и, конечно же,...

Работа с переменными типа float и double
Доброго времени суток всем, даммеры и госпопрограммеры :D Пытался я на днях реализовать программу,...

Работа с переменными типа float и double
Приветствую всех форумчан. Я тут попытался реализовать программу, которая должна считать количество...

2
Don't worry, be happy
16989 / 9867 / 1900
Регистрация: 27.09.2012
Сообщений: 24,471
Записей в блоге: 1
21.10.2016, 11:19 2
Цитата Сообщение от Noob123456 Посмотреть сообщение
Есть какие-то решения?
Ага. Разобраться с типами литералов.
C++
1
2
    PrintTwice(0.0);//double
    PrintTwice(0.0f);//float
1
0 / 0 / 0
Регистрация: 21.10.2016
Сообщений: 3
27.10.2016, 10:19  [ТС] 3
Спасибо, а то я никак не мог придумать адекватный способ.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2016, 10:19

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Проверка на корректность ввода типа double и float
Как сделать, чтобы выводила ошибку при некорректном вводе?

Неправильно отнимаются числа типа float(double)
Сразу говорю, что перезайти в решение - не вариант. Итак, у меня есть малюсенькая нейронная...

2-ичное представление числа типа double или float?
помогите разобратся,,,, плиз)) double a=1991.829; a==01000000 10011111 00011111 01010000 11100101...

Неправильно работает cout для чисел типа double и float
Здравствуйте. Скажите, почему эта программа выводит на экран число 2, а не 2.5 ? #include...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.