C ++ベース - デジタル読書と最適化

(最初のブログは、下手に書かれた、私を許してください)。

、CIN

我々はすべて知っているように、CINはたくさんのことを読み取ることができます。

int型; 
長い長いB;
ダブルC; CIN >> A >> B >> C。

理解することは素晴らしいです、でもあなたは、任意の数を読み取ることができ、他の何かを記述する必要はありません。

時間のかかる:しかし、大きな欠点を持っているCIN。

水問題の経験の私の長年、変数に読み出100000倍、光に関するCINのデータでは、後処理変数の顔がないと言及し、失われました。

デフォルトの標準入力がペースを保つために、それは役に立たない多くの時間を消費しますので、遅いCIN CIN根本的な理由になることです。

あなたは兄を考えているかもしれません:アウト時間を同期しているので、その後、同期が十分ではありませんシャット?

以下のコードを持つので:

std ::イオス:: sync_with_stdio();

このコードは、通常、メイン関数の最初に書かれ、有意に互換性はstdioに近く、しかし、scanf関数やprintf関数に影響を与えることができます。スピードはscanf関数としてまだありません。(笑う叫び)

だから、関連トピックの文字列に加えて、私はいつものscanfまたは高速読み取りを使用しています。

二、scanf関数

Cは、入力関数のscanf言語されたC ++言語でも使用することができます。

オペラ入力ストリームはるかに高速に比べC ++(CINを参照)、それは形式を制御することです。

次の表は、いくつかの一般的なフォーマットを示し

ことに留意されたい    Dに等しいLD、LLDは、長い整数(長い長に相当)は、Fに対して同じではない、LFはLLFことなく、フロートに対応F、倍に相当します。

にいくつかの特別な注意があります。

まず、デジタルに読み込む際のフォーマット制御文字にスペースを入力しないので、彼らは間違っている可能性があります。(個人的な経験)

%の5dは5桁を読み取るように、第2の、デジタル形式の制御文字幅を制御するために添加することができる前に、すなわち、いくつかの読み取り、表現。

形式として*を添加する前に(C)(例えば、%の* d)は、変数を指定するために無視することができ、%* 1D%dは最初の桁リードを除去することができます。

第三に、高速な読み取り

通常、十分な基本的にscanfのが、いくつかの問題癌emmmに遭遇した、またはすぐにそれを読みます。

高速基本原則を読む:キャラクターは、デジタル読み取りよりも速くたくさん読んで(おそらく裁判官を排除することは??デジタル操作ではありません)

最初のコードのいくつかの簡単な読書を置きます:

int型読み取り(){
     int型のx = 0、T = 1チャー C = GETCHAR()。
    一方、(C < ' 0 ' || C> ' 9 '){ もし、(C == ' - ')T = - 1 ; C = GETCHAR();}
     一方、(C> = ' 0 ' && C <= ' 9 '){X =(X << 1)+(X << 3)+(C ^ 48); C = GETCHAR();}
     戻りのx *のT。
}

コードの解釈のために:

       xは電流値を表し、tはcは現在の読み出し文字、数値が負であるか否かを示します。

       文の2行目は、効果的に改行やスペースを読み出すことができるが。

       数字を読んだ後、各々は、10の現在の数と結合される前に数を乗じた数が、スペースを読み取る停止読み取ります。

       方法10:ビット左シフト演算であり、左が完全左の二進数を表し、すなわち、左3つの左側は2 ^ 3 = 8を乗じた、すなわち3つの代表、2を乗じ時間節約の乗算を使用するよりも、10ビット・コンピューティングまで追加。

       どのように現在の数を加えた上で:ascllコード「0」最初の48であり、48は現在のデジタルを残して、除去されたバイナリ110000に示されている、または48個の異なる文字は、最大2つの2進数(すなわち、48)であることができます。

       予約ビット進数の2桁が同じではありません:// XORに。

注意事項:排他的OR演算右よりも低いと左加減算、より低い大きさの1算術左右シフトは、その優先括弧を確保します。

                   2.高速指定された型を読み取るために使用される唯一の整数を読み取ります。

 

私はそれのように懸念ああのポイントを覚えています!

(もちろん、私も可能コメントは好きではありません)

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/kafuuchinoQWQ/p/11222306.html