 | Elektrotekno.com Elektronik ve Teknoloji Merkezi
| | Yazar | Mesaj | meandorsaber | | Tarih: 06.03.2008, 22:00 Mesaj konusu: C ++ bilen arkadaşlar? | |
| selamlar arkadaşlasr ben c++ da bir değişken tanımlamak istiyorum.double ve sadece 2 odalık kısmı olan..
|
|
|
|
ertanuysal | | Tarih: 07.03.2008, 09:54 Mesaj konusu: | |
| meandorsaber yazmış: selamlar arkadaşlasr ben c++ da bir değişken tanımlamak istiyorum.double ve sadece 2 odalık kısmı olan..
Kullanman gereken class template' i => std::numeric_limits< Type >
Aşağıda bir örnek yaptım.
#include <iostream>
#include <ostream>
#include <limits>
int main()
{
typedef std::numeric_limits< double > dl;
typedef std::numeric_limits< float > fl;
using namespace std;
cout << "double:\n";
cout << "\tdigits (bits):\t\t" << dl::digits << endl;
cout << "\tdigits (decimal):\t" << dl::digits10 << endl;
cout << endl;
cout << "float:\n";
cout << "\tdigits (bits):\t\t" << fl::digits << endl;
cout << "\tdigits (decimal):\t" << fl::digits10 << endl;
}
Programı çalıştırınca aşağıdaki ekran çıktısını görmelisin. sonuçlar bazı sistemlerde farklı olabilir ama.
double:
digits (bits): 53
digits (decimal): 15
float:
digits (bits): 24
digits (decimal): 6
Sanırım soruna bu cevap olur.
Kolay gelsin
|
|
tayyaronal | | Tarih: 07.03.2008, 12:55 Mesaj konusu: | |
| C++'da değişkeni tanımladığın zaman precision belirleme gibi bir komut yok bildiğim kadarıyla, C#'da yapabilirsin. Ama şu yöntemle yapabilirsin.
1. Değişkeni float veya double olarak tanımla (double x; değeri de 13.1958723 örneğin),
2. sonra bunu 100 ile çarp (değer 1319.58723 oldu)
3. floor (aşağı integera yuvarlar) veya ceil (yukarı integera yuvarlar) (math classının üyeleri, include <math.h> gerektirir) kullanarak sayıyı aşağı veya yukarıya yuvarla (1319 veya 1320 ve
4. işlem sonunda elde ettiğin değeri 100'e böl (13.19 veya 13.20)
Burdaki tek sorun hangi durumlarda ceil, hangi durumlarda floor etmen gerekeceği ki bunu da kolaylıkla çözebilirsin.
Kolay gelsin.
|
|
ertanuysal | | Tarih: 07.03.2008, 14:46 Mesaj konusu: | |
| tayyaronal yazmış: C++'da değişkeni tanımladığın zaman precision belirleme gibi bir komut yok bildiğim kadarıyla, C#'da yapabilirsin. Ama şu yöntemle yapabilirsin.
1. Değişkeni float veya double olarak tanımla (double x; değeri de 13.1958723 örneğin),
2. sonra bunu 100 ile çarp (değer 1319.58723 oldu)
3. floor (aşağı integera yuvarlar) veya ceil (yukarı integera yuvarlar) (math classının üyeleri, include <math.h> gerektirir) kullanarak sayıyı aşağı veya yukarıya yuvarla (1319 veya 1320 ve
4. işlem sonunda elde ettiğin değeri 100'e böl (13.19 veya 13.20)
Burdaki tek sorun hangi durumlarda ceil, hangi durumlarda floor etmen gerekeceği ki bunu da kolaylıkla çözebilirsin.
Kolay gelsin.
Tekrar selam,
C++' da elbette yok sınırlı değişken tanımlama fakat numeric_limits template class' ı ile böyle birşey yapabilirsin. ama amacına bağlı ben bir değişken tanımlamak istiyorum fakat ekrandaki bir kutuda onun son iki hanesini yazacağım diyorsan
Borland C++ ' da format fonksiyonu
Genel C' de sprintf
Veya : tayyaronal' ın dediği yöntem ile floor veya round ile yuvarlama ile
bu yapılabilir.
kolay gelsin
|
|
|
|