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ở và 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ở và 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 ;
vì(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
{
vì(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.