คุณเขียนเลขชี้กำลังใน C ได้อย่างไร?

How Do You Write An Exponent C



ในภาษาซี สามารถคำนวณค่าเลขชี้กำลังได้โดยใช้เครื่องหมาย NS() การทำงาน. บทความนี้จะเรียนรู้วิธีใช้ NS() ฟังก์ชันเพื่อดำเนินการการยกกำลัง นอกจากนี้เรายังจะได้เรียนรู้วิธีการใช้ ตัวดำเนินการเปลี่ยนบิต เพื่อทำการดำเนินการยกกำลัง เราจะพยายามเขียนฟังก์ชันที่ผู้ใช้กำหนดเพื่อคำนวณเลขชี้กำลัง มาเริ่มกันเลยดีกว่า

ไวยากรณ์

สองเท่า NS ( สองเท่า ฐาน, สองเท่า ประสบการณ์);







NS NS() ฟังก์ชั่นถูกกำหนดใน คณิตศาสตร์.h ไฟล์ส่วนหัว



ข้อโต้แย้ง

ฟังก์ชันนี้รับสองอาร์กิวเมนต์ ฐาน และ ประสบการณ์, เพื่อคำนวณค่าของ ฐาน ขึ้นสู่อำนาจของ exp . ที่นี่ ฐาน และ exp ทั้งสองเป็นสองเท่า



ส่งกลับค่า

เมื่อประสบความสำเร็จ NS() ฟังก์ชันส่งคืนค่าของ ฐาน ขึ้นสู่อำนาจของ exp .





ถ้าค่าของ exp คือ 0, the NS() ฟังก์ชั่นส่งคืน 1

ถ้า ฐาน เป็นลบและ exp ไม่เป็นปริพันธ์ NS() ฟังก์ชันส่งคืน น่าน (ไม่ใช่-A-Number).



ตัวอย่าง

//Example1.c
#รวม
#รวม

intหลัก()
{

intผลลัพธ์;
ผลลัพธ์= (int) NS (3,5);
printf ('NSpow(3,5) => %d',ผลลัพธ์);
printf ('NSแป้ง(3,-5) => %lf', NS (3, -5));
printf ('NSแป้ง(-3,-5) => %lf', NS (-3, -5));
printf ('NSpow(3,5.1) => %lf', NS (3,5.1));
printf ('NSpow(-3,5.1) => %lf', NS (-3,5.1));
printf ('NSpow(-3,-5.1) => %lfNS', NS (-3, -5.1));

กลับ 0;
}

ใน Example1.c เราได้เห็นผลลัพธ์ของ NS() การทำงาน. ที่นี่เราใช้ -lm พารามิเตอร์บรรทัดคำสั่งเพื่อลิงก์ในไลบรารีคณิตศาสตร์ จากบรรทัดที่ 10 ถึง 13 เราได้ผลลัพธ์ตามที่คาดไว้ สำหรับบรรทัดที่ 14 และ 15 เราได้ -น่าน (ไม่ใช่ตัวเลข) เพราะอาร์กิวเมนต์ที่สองไม่ใช่อินทิกรัล

เลขชี้กำลังโดยใช้ Bit Shifting

หากเราต้องการคำนวณเลขชี้กำลังเป็น 2 เราก็ทำได้โดยใช้การขยับบิต

เลื่อนไปทางซ้าย m เท่ากับเทอมแรกและ 2 ยกกำลัง m

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

การเลื่อนไปทางขวาโดย m เท่ากับการหารของเทอมแรกและ 2 ยกกำลัง m

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

ใช้ได้เฉพาะเมื่อ m เป็นบวก

//Example2.c
#รวม

intหลัก()
{
printf ('NS1<%d',1<<3);
printf ('NS5<%d',5<<3);
printf ('NS-5<%d', -53 => %NS', 40 >> 3);
printf('
NS40>>3 => %NS', 40 >> 3);
printf('
NS-40>>3 => %', -40 >> 3);

กลับ 0;
}

ใน Example2.c เราได้เห็นแล้วว่าตัวดำเนินการเปลี่ยนบิตสามารถใช้เป็นเลขชี้กำลังเป็น 2 ได้อย่างไร ซึ่งมีประโยชน์มากในการลดความซับซ้อนของโค้ด

เลขชี้กำลังโดยใช้ฟังก์ชันที่ผู้ใช้กำหนด

เราสามารถเขียนฟังก์ชันที่ผู้ใช้กำหนดเองเพื่อคำนวณเลขชี้กำลัง ใน Example3.c เราจะเขียนฟังก์ชันที่ผู้ใช้กำหนด เลขชี้กำลัง (), ซึ่งรับสองอาร์กิวเมนต์ตามและ exp ของชนิดจำนวนเต็มมดลอย

//Example3.c
#รวม

ลอยเลขชี้กำลัง(ลอยฐาน, int exp )
{
ลอยผลลัพธ์=1.0;
ลอยผม;
ถ้า( exp < 0)
{
exp = -1 * exp ;
สำหรับ(ผม=1;ผม<= exp ;ผม++)
ผลลัพธ์=ผลลัพธ์*ฐาน;

ผลลัพธ์= 1.0/ผลลัพธ์;
}
อื่น
{
สำหรับ(ผม=1;ผม%NS',เลขชี้กำลัง(3,0));
printf('
exponent(3, -5) => %NS',เลขชี้กำลัง(3,-5));
printf('
exponent(-3, -5) => %NS',เลขชี้กำลัง(-3,-5));

กลับ 0;
}

Example3.c เราได้เห็นผลลัพธ์ของฟังก์ชันที่ผู้ใช้กำหนดแล้ว เลขชี้กำลัง () . ฟังก์ชันนี้ทำงานเมื่อเลขชี้กำลังเป็นอินทิกรัล สำหรับเลขชี้กำลังจริง เราต้องใช้ NS() การทำงาน.

บทสรุป

ในบทความนี้เราได้เห็นการใช้ NS() ฟังก์ชันและ บิตขยับ ตัวดำเนินการวิธีคำนวณเลขชี้กำลังในภาษา C นอกจากนี้เรายังได้เรียนรู้วิธีเขียนฟังก์ชันของเราเองเพื่อคำนวณเลขชี้กำลัง ตอนนี้เราสามารถใช้เทคนิคเหล่านี้ในโปรแกรม C ของเราได้อย่างไม่ต้องสงสัย