Ceil -funksjon på C -språk

Ceil -funksjon på C -språk
C -språket gir et omfattende bibliotek med funksjoner for å løse matematiske operasjoner fra de mest grunnleggende til de mest komplekse. I visse tilfeller er det mer praktisk å jobbe med heltall i inngangsargumentene til disse funksjonene eller med resultatene, verken fordi programmet vårt bare skal fungere med disse mengdene eller fordi brøkverdiene deres ikke ville representere en betydelig brøkdel i det endelige resultatet av operasjonen.

For disse avrundingsoperasjonene gir C -språket et sett med funksjoner inkludert i "matte" bibliotek. For å roe en variabel til nærmeste heltall, er det Ceil () funksjon. For å runde til nærmeste heltall, er det gulvet () -funksjonen.

I dette Linux hint Artikkel, vil du lære alt om å bruke funksjonen til å runde brøkverdiene til nærmeste heltall. For å hjelpe deg med å forstå og mestre denne funksjonen bedre, opprettet vi praktiske eksempler med kodefragmenter og bilder som viser bruken av den med forskjellige typer inngangsvariabler. Vi gir deg også en teoretisk beskrivelse av denne funksjonen, dens syntaks, inngangs- og utgangsargumenter og dataene som er akseptert i den.

Syntaks av taket () -funksjonen på C -språk

Dobbelt Ceil (dobbel x)

Ceil () Funksjonsbeskrivelse på C -språket

Denne funksjonen runder til neste større heltallverdi av den numeriske variabelen som er spesifisert i inngangsargumentene. De Ceil () funksjon er et av et sett med funksjoner levert av "matte" bibliotek og er definert i “Matematikk.h ”header. For å bruke denne funksjonen, må vi inkludere den i vår “.C ” fil som følger:

#inkludere

En gang “Matematikk.Hy ”header er inkludert, vi kan bruke Ceil () til å runde opp eller gulvet () for å runde ned, så vel som alle funksjonene i matematikkbibliotekene. For å få avrundingen av “X”, må du kalle denne funksjonen ved å spesifisere variabelnavnet i inngangsargumentet. De Ceil () Returnerer resultatet i “A”.

Eksempel: Hvordan runde et fraksjonelt heltall med Ceil () -funksjonen i Linux GCC

I dette eksemplet vil vi se hvordan vi kan runde en brøkverdi til neste større heltall ved å bruke takfunksjonen i GCC.

Følgende kodebit viser hvordan du bruker Ceil () Funksjon for å få avrunding av dobbelt “x” som har en tildelt verdi på 3.1416. Deretter brukes printf () -funksjonen til å sende ut resultatet som "A" på kommandokonsollen.

#inkludere
#inkludere
tomrom ()

Dobbelt x = 3.1416;
dobbel a;
a = tak (x);
printf ("avrundingen av x er: %f \ n", a);
komme tilbake;

I det følgende bildet ser vi resultatet i kommandokonsollen. I dette tilfellet er det avrundingen av 3.1416 er 4.00000:

Vanlige problemer med tak () og gulv () avrundingsfunksjoner og hvordan du løser dem

Når vi bruker funksjonene og kompilerer koden vår, hender det ofte at samlingen gir følgende feil:

"hoved.C: (.Tekst+0x30): Udefinert referanse til 'Ceil' “

Dette får oss til å se etter syntaksfeil eller udefinerte variabler i ".C ”eller“.H ”-kode siden alt indikerer at problemet vårt ligger der. Men dette fører til tap av verdifull tid siden problemet vårt ligger i koblingen av bibliotekene og datakompatibiliteten til disse funksjonene.

For programmerere som liker å vite årsaken til et problem og ikke bare løse det, vil vi forklare denne feilen trinn for trinn for å få programmeringen til å fungere mer flytende og unngå å laste unødvendige biblioteker for koden vår.

For å forklare dette, sammenstiller vi koden fra forrige eksempel som følger. I den følgende figuren ser vi samlingen av koden vår og feilen som det er referert til i dette avsnittet:

Dette fordi C99, GCC deler bibliotekene sine i to deler - libc og libm. Selv om biblioteket vi refererer til i vår kode, finnes i begge, er datatypene som disse funksjonene godtar i hver av versjonene deres forskjellige, og det er kilden til problemet. Hvis Ceil () Funksjon kalles med en int som input, forsvinner feilen, selv om avrundingen oppstår.

Disse problemene er løst på kompileringstid ved å påkalle libm bibliotek på kommandolinjen som vi bruker for å kompilere. Følgende er banen:

GCC -dokumenter/hoved.C -LM -o C C

Konklusjon

I dette Linux hint artikkel, vi viste deg hvordan du bruker Ceil () funksjon for å runde brøkverdiene til nærmeste heltall. Vi forklarte trinn for trinn på hvordan du laster "matematikk" -biblioteket for å bruke denne funksjonen. Vi viste deg også en av de vanligste feilene når du bruker denne funksjonen og hvordan du fikser den for å få en jevn programmeringsoppgave. Vi håper at du fant denne C -språkartikkelen nyttig. Se annet Linux hint artikler for flere tips og informasjon.