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:
#inkludereEn 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.
#inkludereI 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 CKonklusjon
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.