Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C / C ++のnextafter()およびnexttoward()


ここでは、CまたはC ++でのnextafter()およびnextforward()関数の効果を確認します。これらの関数は、math.hまたはcmathライブラリにあります。

関数がnextafter(a、b)およびnextforward(a、b)のような場合。これらの関数は、bの方向でaの次の表現可能な値を見つけるために使用されます。 nextforward()には、より正確な2番目のパラメーターbがあります。

#include <stdio.h>
#include <math.h>
main () {
   //The nextafter function()
   printf ("Smallest representable number after 0 towards 1 : %e\n", nextafter(0.0, 1.0));
   printf ("Largest representable number before -1 towards 0 :%e\n", nextafter(0.0, -1.0));
   printf ("Largest +ve representable number after 0.8 : %e\n", nextafter(0.8, 0.0));
   // using nexttoward
   printf("\n");
   printf ("Smallest representable number after 0 towards 1 : %e\n", nexttoward(0.0, 1.0));
   printf ("Largest representable number before -1 towards 0 : %e\n", nexttoward(0.0, -1.0));
   printf ("Largest +ve representable number after 0.8 : %e\n", nexttoward(0.8, 0.0));
}

出力

Smallest representable number after 0 towards 1 : 4.940656e-324
Largest representable number before -1 towards 0 :-4.940656e-324
Largest +ve representable number after 0.8 : 8.000000e-001
Smallest representable number after 0 towards 1 : 4.940656e-324
Largest representable number before -1 towards 0 : -4.940656e-324
Largest +ve representable number after 0.8 : 8.000000e-001

  1. C / C ++のstrdup()およびstrdndup()

    strdup() 関数strdup()は、文字列を複製するために使用されます。 nullで終了するバイト文字列へのポインタを返します。 C言語でのstrdup()の構文は次のとおりです。 char *strdup(const char *string); これがC言語のstrdup()の例です 例 #include <stdio.h> #include<string.h> int main() {    char *str = "Helloworld";    char *result;   &

  2. C /C++の左シフトおよび右シフト演算子

    左シフト 左シフト演算子では、左オペランドの値は、右オペランドで指定されたビット数だけ左に移動します。 これはC言語の左シフト演算子の例です 例 #include <stdio.h> int main() {    int y = 28; // 11100    int i = 0;    for(i;i<=3;++i)    printf("Left shift by %d: %d\n", i, y<<i);    return 0;