Làm thế nào để bạn viết một số mũ trong C?

How Do You Write An Exponent C



Trong ngôn ngữ C, giá trị số mũ có thể được tính bằng cách sử dụng NS() hàm số. Bài viết này sẽ tìm hiểu cách sử dụng NS() hàm để thực hiện phép tính lũy thừa. Chúng tôi cũng sẽ học cách sử dụng toán tử dịch chuyển bit để thực hiện phép toán lũy thừa. Chúng tôi sẽ cố gắng viết một hàm do người dùng định nghĩa để tính toán số mũ. Vậy hãy bắt đầu.

Cú pháp

kép NS ( kép cơ sở, kép NS);







Các NS() chức năng được định nghĩa trong toán học.h tập tin tiêu đề.



Tranh luận

Hàm này có hai đối số, cơ sởNS, để tính toán giá trị của cơ sở nâng lên thành sức mạnh của NS . Ở đây cơ sởNS cả hai đều gấp đôi.



Trả lại giá trị

Về thành công, NS() hàm trả về giá trị của cơ sở nâng lên thành sức mạnh của NS .





Nếu giá trị của NS là 0, NS() hàm trả về 1.

Nếu như cơ sở là tiêu cực và NS là không tích phân, NS() hàm trả về NaN (Không phải là một con số).



Các ví dụ

//Example1.c
#bao gồm
#bao gồm

NSchủ chốt()
{

NSkết quả;
kết quả= (NS) NS (3,5);
printf (' pow (3,5) =>% d ',kết quả);
printf (' pow (3, -5) =>% lf ', NS (3, -5));
printf (' pow (-3, -5) =>% lf ', NS (-3, -5));
printf (' pow (3,5.1) =>% lf ', NS (3,5.1));
printf (' pow (-3,5.1) =>% lf ', NS (-3,5.1));
printf (' pow (-3, -5.1) =>% lf ', NS (-3, -5.1));

trở lại 0;
}

Trong Ví dụ1.c, chúng ta đã thấy đầu ra của NS() hàm số. Ở đây chúng tôi sử dụng -lm tham số dòng lệnh để liên kết trong thư viện toán học. Từ dòng 10 đến dòng 13, chúng ta đã có được kết quả đầu ra như mong đợi. Đối với dòng 14 và 15, chúng tôi có -nan (Không phải là số) vì đối số thứ hai không phải là tích phân.

Số mũ bằng cách sử dụng dịch chuyển bit

Nếu chúng ta muốn tính số mũ thành lũy thừa của 2, thì chúng ta có thể làm điều đó bằng cách sử dụng dịch chuyển bit.

Dịch sang trái của m tương đương với số hạng đầu tiên và 2 đối với lũy thừa m.

n<< m = n * pow (2, m)

Sự chuyển dịch sang phải của m tương đương với phép chia của số hạng đầu tiên và 2 cho lũy thừa m.

n >> m = n / pow (2, m)

Nó chỉ hoạt động khi m là số dương.

//Example2.c
#bao gồm

NSchủ chốt()
{
printf (' 1<%d',1<<3);
printf (' 5<%d',5<<3);
printf (' -5<%d', -53 => %NS', 40 >> 3);
printf ('
40>>3 => %NS', 40 >> 3);
printf ('
-40>>3 => %d n', -40 >> 3);

trả về 0;
}

Trong Ví dụ2.c, chúng ta đã thấy cách sử dụng toán tử dịch chuyển bit cho số mũ thành lũy thừa của 2. Nó rất hữu ích để giảm độ phức tạp của mã.

Số mũ sử dụng hàm Do người dùng xác định

Chúng ta có thể viết một hàm do người dùng định nghĩa để tính số mũ. Trong Ví dụ3.c, chúng ta sẽ viết một hàm do người dùng định nghĩa số mũ (), lấy hai đối số dựa trên và exp của kiểu float ant integer.

//Example3.c
#bao gồm

trôi nổisố mũ(trôi nổicơ sở, NS NS )
{
trôi nổikết quả=1,0;
trôi nổitôi;
nếu như( NS < 0)
{
NS = -1 * NS ;
(tôi=1;tôi<= NS ;tôi++)
kết quả=kết quả*cơ sở;

kết quả= 1,0/kết quả;
}
khác
{
(tôi=1;tôi%NS', số mũ (3,0));
printf ('
nexponent(3, -5) => %NS', số mũ (3, -5));
printf ('
nexponent(-3, -5) => %NS', số mũ (-3, -5));

trả về 0;
}

Ví dụ3.c, chúng ta đã thấy đầu ra của hàm do người dùng định nghĩa số mũ () . Hàm này hoạt động khi số mũ là tích phân. Đối với số mũ thực, chúng ta phải sử dụng NS() hàm số.

Phần kết luận

Trong bài viết này, chúng ta đã thấy việc sử dụng NS() chức năng và Dịch chuyển bit toán tử cách tính số mũ trong ngôn ngữ C. Chúng ta cũng đã học cách viết hàm của riêng mình để tính số mũ. Bây giờ chúng ta có thể sử dụng các kỹ thuật này trong chương trình C của mình mà không cần nghi ngờ gì nữa.