Elektronik ve Teknoloji Merkezi Elektrotekno.com
Elektronik ve Teknoloji Merkezi




Click here to go to the original topic

Elektrotekno.com Ana Sayfa Bilgisayar Programlama
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
Elektrotekno.com Ana Sayfa Bilgisayar Programlama
1. sayfa (Toplam 1 sayfa)

C ++ bilen arkadaşlar?

Gizlilik Politikası

PLC programming