浮動小数点の定義およびテキスト処理とC言語

奇妙なのゼロ、C言語の変数定義float型

Cでは、特に桁の左側と右側の定義については、float型定義の特殊は、奇妙な比較になります:。例えば、この」0.005" 、 『10』、および他の種類の、このような問題は、番号を保存することです0どこ浮動小数点ルックス非常に奇妙な意義を作るには?それは、より標準化された臭いルックスを浮遊していないので、このグロテスクな定義を許可しませんか?
唯一、このような定義は本当に良い香りに許可することができることを見つけるために、浮動小数点数の多数の最近の発見に対処するこの定義の良いアプリケーション。

float型変数のA、C言語定義

浮動定数:
小数点浮動定
小数点浮動定数:
端数コンスタント指数パート(OPT)浮動サフィックス(OPT)
-パート浮動サフィックス(OPT)の指数部、シーケンス桁の
分数定数:
用-シーケンス桁( 。OPT)、桁のシーケンスのため
。桁-シーケンスのための
指数部-パート:
Eサイン(OPT)桁の-シーケンス
E・サイン(OPT)桁の-シーケンス
星座:の一つ
+ -
桁の-シーケンス:
のための桁
用の数字のため、シーケンス桁の
浮動サフィックス:ワン
FL FL
この手段その「0」、「0」、「0.0」が合法フロートであるが、「」浮動小数点数の法的定義はありません。

第二に、浮動小数点処理の多数のアプリケーション

いくつかの入力テキストが、それはxのリテラル、直接交換であるため、当然の正(への単純な式で達成することができ、それらのすべてが拡大または削減10倍または100倍にしたい、浮動小数点の多数が含まれているためましょうと言います* 10または完了しているなど)。

1、すべての浮動小数点100倍

ハリー@ tsecer:input.txt.amp猫
200.000 37.932 -39.990 200.000 37.932 -79.985 200.000 37.932 -79.987 -200.000

37.932 -79.980 -200.000 57.932 -79.980 200.000 57.932 -119.976 200.000 57.933

-119.977 -200.000 57.933 -119.971 -200.000 77.933 -119.971 200.000 77.933 -159.964

200.000 77.936 -159.966 -200.000 77.935 -159.958 -200.000 97.940 -159.958 200.000

97.940 -199.958 -200.000 97.940 -199.958 200.000 97.940 -159.964 200.000 -2.068

-199.958 200.000 -2.068 -39.995 200.000 -2.068 -79.985 200.000 -2.068 -119.976

200.000 -2.068 -159.964 -200.000 -2.068 -199.958 -200.000 -2.068 -39.995 -200.000

ハリー@ tsecer:について((I = 0; I <2; I ++))DOのsed -i -eさん/ \。([[:桁:]] \)\ \([[:桁:]] \ )/ \ 1 \ 2./g」input.txt.amp。完了
ハリー@ tsecer:input.txt.amp猫
20000.0 3793.2 -3999.0 20000.0 3793.2 -7998.5 20000.0 3793.2 -7998.7 -20000.0

3793.2 -7998.0 -20000.0 5793.2 -7998.0 20000.0 5793.2 -11997.6 20000.0 5793.3

-11997.7 -20000.0 5793.3 -11997.1 -20000.0 7793.3 -11997.1 20000.0 7793.3 -15996.4

20000.0 7793.6 -15996.6 -20000.0 7793.5 -15995.8 -20000.0 9794.0 -15995.8 20000.0

9794.0 -19995.8 -20000.0 9794.0 -19995.8 20000.0 9794.0 -15996.4 20000.0 -206.8

-19995.8 20000.0 -206.8 -3999.5 20000.0 -206.8 -7998.5 20000.0 -206.8 -11997.6

20000.0 -206.8 -15996.4 -20000.0 -206.8 -19995.8 -20000.0 -206.8 -3999.5 -20000.0

ハリー@ tsecer:

 

図2に示すように、すべての浮動小数点の10倍を絞り込みます

ハリー@ tsecer:input.txt.sim猫
200.000 37.932 -39.990 200.000 37.932 -79.985 200.000 37.932 -79.987 -200.000

37.932 -79.980 -200.000 57.932 -79.980 200.000 57.932 -119.976 200.000 57.933

-119.977 -200.000 57.933 -119.971 -200.000 77.933 -119.971 200.000 77.933 -159.964

200.000 77.936 -159.966 -200.000 77.935 -159.958 -200.000 97.940 -159.958 200.000

97.940 -199.958 -200.000 97.940 -199.958 200.000 97.940 -159.964 200.000 -2.068

-199.958 200.000 -2.068 -39.995 200.000 -2.068 -79.985 200.000 -2.068 -119.976

200.000 -2.068 -159.964 -200.000 -2.068 -199.958 -200.000 -2.068 -39.995 -200.000

ハリー@ tsecer:SED -e 'S / \([[:桁:]] \)\ \。([[:桁:]] \)/ \ 1 \ 2 / gである。' input.txt.sim
20.0000 3.7932 -3.9990 20.0000 3.7932 -7.9985 20.0000 3.7932 -7.9987 -20.0000

3.7932 -7.9980 -20.0000 5.7932 -7.9980 5.7932 20.0000 -11.9976 20.0000 5.7933

-11.9977 -20.0000 5.7933 -11.9971 -20.0000 7.7933 -11.9971 20.0000 7.7933 -15.9964

20.0000 7.7936 -15.9966 -20.0000 7.7935 -15.9958 -20.0000 9.7940 -15.9958 20.0000

9.7940 -19.9958 -20.0000 9.7940 -19.9958 20.0000 9.7940 -15.9964 20.0000 -.2068

-19.9958 20.0000 -.2068 -3.9995 20.0000 -.2068 -7.9985 20.0000 -.2068 -11.9976

20.0000 -.2068 -15.9964 -20.0000 -19.9958 -20.0000 -.2068 -.2068 -3.9995 -20.0000

ハリー@ tsecer:

 

3、コンパイル定数

もちろん、定数Cをコンパイルするために使用される最も一般的な方法は、直接各番号の拡大/縮小が乗算されます。

ハリー@ tsecer:input.txt.sim猫
200.000 37.932 -39.990 200.000 37.932 -79.985 200.000 37.932 -79.987 -200.000

37.932 -79.980 -200.000 57.932 -79.980 200.000 57.932 -119.976 200.000 57.933

-119.977 -200.000 57.933 -119.971 -200.000 77.933 -119.971 200.000 77.933 -159.964

200.000 77.936 -159.966 -200.000 77.935 -159.958 -200.000 97.940 -159.958 200.000

97.940 -199.958 -200.000 97.940 -199.958 200.000 97.940 -159.964 200.000 -2.068

-199.958 200.000 -2.068 -39.995 200.000 -2.068 -79.985 200.000 -2.068 -119.976

200.000 -2.068 -159.964 -200.000 -2.068 -199.958 -200.000 -2.068 -39.995 -200.000

ハリー@ tsecer:SED -e 'S / \([[:桁:] \ + \ [[:桁:]。\ + \)/ \ 1 * 0.001f / G' input.txt.sim
200.000 * 0.001f 37.932 * 0.001f -39.990 * 0.001f 200.000 * 0.001f 37.932 * 0.001f -79.985 * 0.001f 200.000 * 0.001f 37.932 * 0.001f -79.987 * 0.001f -200.000 * 0.001f

37.932 * 0.001f -79.980 * 0.001f -200.000 * 0.001f 57.932 * 0.001f -79.980 * 200.000 * 0.001f 0.001f 57.932 * 0.001f -119.976 * 0.001f 200.000 * 0.001f 57.933 * 0.001f

-119.977 * 0.001f -200.000 * 0.001f 57.933 * 0.001f -119.971 * 0.001f -200.000 * 0.001f 77.933 * 0.001f -119.971 * 0.001f 200.000 * 0.001f 77.933 * 0.001f -159.964 * 0.001f

* 0.001f 200.000 77.936 * 0.001f -159.966 * 0.001f -200.000 * 0.001f 77.935 * 0.001f -159.958 * 0.001f -200.000 * 0.001f 97.940 * 0.001f -159.958 * 0.001f 200.000 * 0.001f

97.940 * 0.001f -199.958 * 0.001f -200.000 * 0.001f 97.940 * 0.001f -199.958 * 0.001f 200.000 * 0.001f 97.940 * 0.001f -159.964 * 0.001f 200.000 * 0.001f -2.068 * 0.001f

-199.958 * 0.001f 200.000 * 0.001f -2.068 * 0.001f -39.995 * 0.001f 200.000 * 0.001f -2.068 * 0.001f -79.985 * 0.001f 200.000 * 0.001f -2.068 * 0.001f -119.976 * 0.001f

200.000 * 0.001f -2.068 * 0.001f -159.964 * 0.001f -200.000 * 0.001f -2.068 * 0.001f -199.958 * 0.001f -200.000 * 0.001f -2.068 * 0.001f -39.995 * 0.001f -200.000 * 0.001f

ハリー@ tsecer:

おすすめ

転載: www.cnblogs.com/tsecer/p/12038520.html