Ц Програмирање

Подешавање децималне прецизности у језику Ц

Подешавање децималне прецизности у језику Ц

Овај чланак ће вам показати како да поставите децималну прецизност у програмском језику Ц. Прво ћемо дефинисати прецизност, а затим ћемо размотрити више примера како бисмо показали како се подешава децимална прецизност у програмирању на језику Ц.

Децимална прецизност у Ц

Целобројна променљива типа обично се користи за држање целог броја, а променљива типа флоат за држање стварних бројева са делимичним деловима, на пример, 2.449561 или -1.0587. Прецизност одређује тачност стварних бројева и означава се тачком (.) симбол. Тачност или тачност стварних бројева означава се бројем цифара након децималне тачке. Дакле, прецизност значи број цифара који се помиње након децималне запете у флоат броју. На пример, број 2.449561 има прецизност шест и -1.058 има прецизност три.

Према ИЕЕЕ-754 једнострано прецизном представљању с помичним зарезом, постоји укупно 32 бита за чување стварног броја. Од 32 бита, најзначајнији бит се користи као знаковни бит, следећих 8 бита се користи као експонент, а следећих 23 бита се користи као разломак.

У случају ИЕЕЕ-754 двоструке прецизности представљања са помичним зарезом, постоји укупно 64 бита за чување стварног броја. Од 64 бита, најзначајнији бит се користи као знаковни бит, следећих 11 битова се користи као експонент, а следећих 52 бита се користи као разломак.

Међутим, приликом штампања стварних бројева потребно је одредити прецизност (другим речима, тачност) стварног броја. Ако прецизност није наведена, размотриће се подразумевана прецизност, тј.е., шест децималних цифара иза децималне тачке. У следећим примерима ћемо вам показати како да одредите прецизност приликом штампања бројева са помичном зарезом у програмском језику Ц.

Примери

Сада када сте основно разумевање прецизности, погледајмо неколико примера:

    1. Подразумевана прецизност за флоат
    2. Подразумевана прецизност за двоструко
    3. Подесите прецизност за пловак
    4. Подесите прецизност за двоструко

Пример 1: Подразумевана прецизност за флоат

Овај пример показује да је подразумевана прецизност постављена на шест цифара након децималне тачке. Иницијализовали смо флоат променљиву са вредношћу 2.7 и одштампао га без изричите спецификације прецизности.

У овом случају, подразумевана поставка прецизности обезбедиће да се одштампа шест цифара након децималне тачке.

#инцлуде
инт маин ()

флоат ф = 2.7;
принтф ("\ нВредност ф =% ф \ н", ф);
принтф ("Величина флоат-а =% лд \ н", сизеоф (флоат));
ретурн 0;

Пример 2: Подразумевана прецизност за Доубле

У овом примеру ћете видети да је подразумевана прецизност постављена на шест цифара након децималног зареза за променљиве двоструког типа. Иницирали смо двоструку променљиву, тј.е., д, са вредношћу 2.7 и одштампао је без прецизирања прецизности. У овом случају, подразумевана поставка прецизности обезбедиће да се одштампа шест цифара након децималне тачке.

#инцлуде
инт маин ()

двоструко д = 2.7;
принтф ("\ нВредност д =% лф \ н", д);
принтф ("Величина дуплог =% лд \ н", величина (двоструког));
ретурн 0;

Пример 3: Подесите прецизност за пловак

Сада ћемо вам показати како поставити прецизност за флоат вредности. Иницијализовали смо флоат променљиву, тј.е., ф, са вредношћу 2.7, и одштампао га са разним подешавањима прецизности. Када поменемо „% 0.4ф ”у изјави принтф, ово указује на то да смо заинтересовани за штампање четири цифре након децималне запете.

#инцлуде
инт маин ()

флоат ф = 2.7;
/ * подеси прецизност за флоат променљиву * /
принтф ("\ нВредност ф (прецизност = 0.1) =% 0.1ф \ н ", ф);
принтф ("\ нВредност ф (прецизност = 0.2) =% 0.2ф \ н ", ф);
принтф ("\ нВредност ф (прецизност = 0.3) =% 0.3ф \ н ", ф);
принтф ("\ нВредност ф (прецизност = 0.4) =% 0.4ф \ н ", ф);
принтф ("\ нВредност ф (прецизност = 0.22) =% 0.22ф \ н ", ф);
принтф ("\ нВредност ф (прецизност = 0.23) =% 0.23ф \ н ", ф);
принтф ("\ нВредност ф (прецизност = 0.24) =% 0.24ф \ н ", ф);
принтф ("\ нВредност ф (прецизност = 0.25) =% 0.25ф \ н ", ф);
принтф ("\ нВредност ф (прецизност = 0.40) =% 0.40ф \ н ", ф);
принтф ("Величина флоат-а =% лд \ н", сизеоф (флоат));
ретурн 0;

Пример 4: Подесите прецизност за двоструко

У овом примеру ћемо видети како поставити прецизност за двоструке вредности. Иницирали смо двоструку променљиву, тј.е., д, са вредношћу 2.7 и одштампао га са разним подешавањима прецизности. Када поменемо „% 0.52ф ”у изјави принтф, ово указује на то да смо заинтересовани за штампање 52 цифре након децималне тачке.

#инцлуде
инт маин ()

флоат ф = 2.7;
/ * подеси прецизност за флоат променљиву * /
принтф ("\ нВредност ф (прецизност = 0.1) =% 0.1ф \ н ", ф);
принтф ("\ нВредност ф (прецизност = 0.2) =% 0.2ф \ н ", ф);
принтф ("\ нВредност ф (прецизност = 0.3) =% 0.3ф \ н ", ф);
принтф ("\ нВредност ф (прецизност = 0.4) =% 0.4ф \ н ", ф);
принтф ("\ нВредност ф (прецизност = 0.22) =% 0.22ф \ н ", ф);
принтф ("\ нВредност ф (прецизност = 0.23) =% 0.23ф \ н ", ф);
принтф ("\ нВредност ф (прецизност = 0.24) =% 0.24ф \ н ", ф);
принтф ("\ нВредност ф (прецизност = 0.25) =% 0.25ф \ н ", ф);
принтф ("\ нВредност ф (прецизност = 0.40) =% 0.40ф \ н ", ф);
принтф ("Величина флоат-а =% лд \ н", сизеоф (флоат));
ретурн 0;

Закључак

Прецизност је веома важан фактор за представљање реалног броја са одговарајућом тачношћу. Програмски језик ц пружа механизам за контролу тачности или тачности стварног броја. Међутим, не можемо променити стварну прецизност стварног броја. На пример, разломак дела 32-битног броја с помичном зарезом са једном прецизношћу представљен је са 23 бита и то је фиксно; ово не можемо променити за одређени систем. Колико тачности желимо, можемо одлучити постављањем жељене прецизности стварног броја. Ако нам је потребна већа тачност, увек можемо да користимо 64-битни број са двоструком прецизношћу са покретном зарезом.

Вулкан за кориснике Линука
Са сваком новом генерацијом графичких картица видимо да програмери игара помичу границе графичке верности и долазе на корак од фотореализма. Али упрко...
ОпенТТД вс Симутранс
Стварање сопствене симулације превоза може бити забавно, опуштајуће и изузетно примамљиво. Због тога морате да испробате што више игара како бисте про...
Водич за ОпенТТД
ОпенТТД је једна од најпопуларнијих игара за пословну симулацију. У овој игри морате створити диван посао превоза. Међутим, почет ћете у почетку око 1...