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
-
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; &
-
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;