W niektórych przypadkach wygodniej jest pracować z liczbami całkowitych w argumentach wejściowych tych funkcji lub z ich wynikami, albo dlatego, że nasz program powinien działać tylko z tymi wielkościami, albo dlatego, że ich wartości ułamkowe nie reprezentują znaczącej przerwy w końcowym wyniku końcowego wyniku tego operacja.
W przypadku tych operacji zaokrąglonych język C zapewnia zestaw funkcji zawartych w „Matematyka” biblioteka. Aby zaokrąglić zmienną do najbliższej liczby całkowitej, istnieje funkcja stropować(). Aby zaokrąglić zmienną do najbliższej liczby całkowitej, istnieje funkcja podłogowa ().
W tym Wskazówka Linux Artykuł, dowiesz się wszystkiego o korzystaniu z funkcji do zaokrąglenia wartości ułamkowych do najbliższej liczby całkowitej.
Aby pomóc Ci lepiej zrozumieć i opanować tę funkcję, stworzyliśmy praktyczne przykłady z fragmentami kodu i obrazów, które pokazują jego użycie z różnymi typami zmiennych wejściowych.
Składnia funkcji Ceil () w języku C:
podwójny suil (podwójny x)Opis funkcji suil () w języku c
Ta funkcja jest zaokrąglona do następnej większej wartości liczb całkowitych zmiennej liczbowej, która jest określona w argumentach wejściowych.
stropować() Funkcja jest jednym z zestawów funkcji dostarczanych przez „Matematyka” biblioteka. Aby użyć tej funkcji, musimy ją uwzględnić w naszym ".C" Plik w następujący sposób:
#włączaćPo uwzględnieniu bibliotek „matematycznych” możemy użyć Ceil (), aby zaokrąglić w górę lub podłogę (), aby zaokrąglić w dół, a także wszystkie funkcje w bibliotekach matematycznych.
Aby uzyskać zaokrąglanie „x”, musisz wywołać tę funkcję, określając nazwę zmiennej w argumencie wejściowym. Ceil () zwraca wynik „a”.
Przykład 1: Jak zaokrąglić frakcyjną liczbę całkowitą z funkcją Ceil () w Linux GCC
W tym przykładzie zobaczymy, jak zaokrąglić wartość ułamkową do następnej większej liczby całkowitej za pomocą funkcji CEIL w GCC.
Poniższy fragment kodu pokazuje, jak korzystać z stropować() funkcja uzyskania zaokrąglenia podwójnego „x”, która ma przypisaną wartość 3.1416. Następnie funkcja printf () służy do wyświetlania wyniku jako „a” w konsoli poleceń:
#włączaćNa poniższym obrazie widzimy wynik w konsoli poleceń. W tym przypadku zaokrąglanie 3.1416 to 4.00000.
Częste problemy z funkcjami zaokrąglonymi Ceil () i Floor () oraz jak je rozwiązać
Kiedy używamy funkcji i kompilujemy nasz kod, często zdarza się, że kompilacja podaje następujący błąd:
"główny.C: (.Tekst+0x30): Nieokreślone odniesienie do „Ceil” ”To powoduje, że szukamy błędów składniowych lub niezdefiniowanych zmiennych w naszym „.c ”lub„.H ”kod, ponieważ wszystko wskazuje, że nasz problem leży tam. Ale to prowadzi do utraty cennego czasu, ponieważ nasz problem polega na łączeniu bibliotek i kompatybilności danych tych funkcji.
Dla programistów, którzy lubią znać przyczynę problemu, a nie tylko go rozwiązać, wyjaśnimy ten błąd krok po kroku, aby programowanie działało płynniej i uniknąć załadowania niepotrzebnych bibliotek dla naszego kodu.
Aby to wyjaśnić, kompilujemy kod z poprzedniego przykładu w następujący sposób. Na poniższym rysunku widzimy kompilację naszego kodu i błąd, o którym mowa w tej sekcji:
Dzieje się tak, ponieważ skoro C99, GCC dzieli swoje biblioteki na dwie części - libc i libm. Chociaż biblioteka, do której się odnosimy w naszym kodzie, znajduje się w obu typach danych, które funkcje te akceptują w każdej z ich wersji, są różne i to jest źródło problemu.
Jeśli funkcja suil () jest wywoływana z INT jako wejście, błąd znika, chociaż zaokrąglanie w dół następuje.
Problemy te są ustalane w czasie kompilacji, wywołując Libm Biblioteka w wierszu poleceń, którego używamy do kompilacji. Poniżej znajduje się ścieżka:
Dokumenty GCC/Main.c -lm -o cWniosek
W tym artykule z podpowiedzi Linuksa pokazaliśmy, jak używać funkcji tak, aby zaokrąglić wartości ułamkowe do najbliższej liczby całkowitej. Wyjaśniliśmy krok po kroku, jak załadować bibliotekę „matematyki”, aby użyć tej funkcji. Pokazaliśmy również, jak korzystać z funkcji zaokrąglania tej biblioteki z praktycznym przykładem. Pokazaliśmy również jeden z najczęstszych błędów podczas korzystania z tej funkcji i jak ją naprawić, aby uzyskać płynne zadanie programowania. Mamy nadzieję, że ten artykuł językowy C za pomocny. Przeczytaj inne artykuły z podpowiedzi Linux, aby uzyskać więcej wskazówek i informacji.