タグ付けされた質問 「integer」

整数を表すための多くのプログラミング言語の共通のデータ型。整数の使用、格納、または操作に関する質問には、このタグを使用します。


6
ブール配列をint配列に変換する方法
私はScilabを使用しており、ブール値の配列を整数の配列に変換したいと思います。 >>> x = np.array([4, 3, 2, 1]) >>> y = 2 >= x >>> y array([False, False, True, True], dtype=bool) Scilabで使用できるもの: >>> bool2s(y) 0. 0. 1. 1. または、1を掛けるだけです。 >>> 1*y 0. 0. 1. 1. Pythonでこれを実行する簡単なコマンドはありますか、それともループを使用する必要がありますか?


13
C ++パフォーマンスの課題:整数からstd :: stringへの変換
以下にリンクされているstd :: stringコードに整数のパフォーマンスを超える人はいますか? そこに整数に変換する方法について説明し、いくつかの質問に既にあるstd::stringようなC ++で、この1は、しかし、提供するソリューションのどれも効率的ではありません。 これは、いくつかの一般的なメソッドと競合するためのコンパイル可能なコードです。 stringstreamを使用した「C ++の方法」:http : //ideone.com/jh3Sa sprintf。SO-ersは通常、パフォーマンスを重視する場合に推奨します。http://ideone.com/82kwR 一般的な考えに反しboost::lexical_castて、独自の実装(ホワイトペーパー)がありstringstream、数値挿入演算子を使用しません。この他の質問は悲惨であると示唆しているので、私は本当にそのパフォーマンスを比較してみたいと思います。 そして、デスクトップコンピューターで競争力のある私自身の貢献は、整数モジュロに依存するアルゴリズムとは異なり、組み込みシステムでもフルスピードで実行されるアプローチを示しています。 ベンのアルゴリズム:http : //ideone.com/SsEUW そのコードを使用したい場合は、簡略化されたBSDライセンスの下で使用できるようにします(商用利用が許可され、帰属が必要です)。聞いてください。 最後に、この関数ltoaは非標準ですが広く利用できます。 ltoaバージョン、それを提供するコンパイラを持っている人(ideoneは提供していません):http ://ideone.com/T5Wim パフォーマンス測定値を回答としてすぐに投稿します。 アルゴリズムのルール 少なくとも32ビットの符号付きおよび符号なし整数を10進数に変換するためのコードを提供します。 出力をとして生成しstd::stringます。 スレッド化およびシグナルと互換性のないトリック(たとえば、静的バッファー)はありません。 ASCII文字セットを想定できます。 INT_MIN絶対値を表現できない2の補数マシンでコードをテストしてください。 理想的には、出力はstringstream、http://ideone.com/jh3Saを使用した正規のC ++バージョンと文字ごとに同一である必要がありますが、正しい数値でも問題ないため、明確に理解できるものであれば何でもかまいません。 NEW:比較に必要なすべてのコンパイラーオプションとオプティマイザーオプション(完全に無効化されている場合を除く)を使用できますが、コードは少なくともVC ++ 2010およびg ++でもコンパイルして正しい結果を与える必要があります。 期待される議論 より優れたアルゴリズムに加えて、いくつかの異なるプラットフォームとコンパイラでいくつかのベンチマークを取得したいと思います(標準の測定単位としてMB /秒のスループットを使用しましょう)。私のアルゴリズムのコード(sprintfベンチマークはいくつかのショートカットを使用していることを知っています-現在は修正されています)は、少なくともASCIIの仮定の下で、標準によって明確に定義された動作ですが、出力に対して未定義の動作または入力がある場合無効です。指摘してください。 結論: おそらくそれぞれの実装が異なるため、g ++とVC2010では異なるアルゴリズムが実行さstd::stringれます。VC2010は明らかにNRVOでより良い仕事をしており、戻り値を取り除くことはgccでのみ助けられました。 sprintf桁違いに優れたコードが見つかりました。 ostringstream50倍以上遅れます。 チャレンジの勝者は、gccで自分の速度の350%を実行するコードを生成するuser434507です。SOコミュニティの気まぐれのため​​、以降のエントリはクローズされます。 現在の(最終?)スピードチャンピオンは次のとおりです。 gccの場合:user434507、8倍高速sprintf:http ://ideone.com/0uhhX Visual C ++の場合:Timo、15倍高速sprintf:http : //ideone.com/VpKO3

9
Pythonはintとlongをどのように管理しますか?
Pythonが内部でint型とlong型をどのように管理するか知っている人はいますか? 適切なタイプを動的に選択しますか? intの制限は何ですか? Python 2.6を使用していますが、以前のバージョンとは異なりますか? 以下のコードをどのように理解すればよいですか? >>> print type(65535) <type 'int'> >>> print type(65536*65536) <type 'long'> 更新: >>> print type(0x7fffffff) <type 'int'> >>> print type(0x80000000) <type 'long'>
118 python  integer 



11
文字列が有効な整数かどうかをテストします
私は十分に一般的なことをしようとしています:シェルスクリプトでユーザー入力を解析します。ユーザーが有効な整数を指定した場合、スクリプトは1つの処理を実行し、無効な場合は別の処理を実行します。問題は、これを行う簡単な(そして合理的にエレガントな)方法を見つけていないことです。1文字ずつ個別に選択する必要はありません。 これは簡単なはずですが、方法はわかりません。私は12の言語でそれを行うことができましたが、BASHはできませんでした! 私の研究でこれを見つけました: 文字列が10進数の有効な実数で構成されるかどうかをテストする正規表現 そして、そこには正規表現についての答えがありますが、私の知る限り、それはCで利用可能な関数です(とりわけ)。それでも、すばらしい答えのように見えたので、grepで試してみましたが、grepはそれをどうするかわかりませんでした。私の箱では、それをPERL正規表現として扱うことを意味する-Pを試しました-nada。ダッシュE(-E)も機能しませんでした。また、-Fも行いませんでした。 明確にするために、私はこのようなものを試して、出力を探しています-そこから、取得したものを利用するためにスクリプトをハッキングします。(IOW、有効な行が繰り返されている間は、非準拠の入力が何も返さないことを期待していました。) snafu=$(echo "$2" | grep -E "/^[-+]?(?:\.[0-9]+|(?:0|[1-9][0-9]*)(?:\.[0-9]*)?)$/") if [ -z "$snafu" ] ; then echo "Not an integer - nothing back from the grep" else echo "Integer." fi これを最も簡単に行う方法を誰かが説明してくれませんか? 率直に言って、これは私の意見ではTESTの欠点です。このようなフラグが必要です if [ -I "string" ] ; then echo "String is a valid integer." else echo …

11
なぜ標準C ++ライブラリに `int pow(int base、int exponent)`がないのですか?
見つけられないだけなのだと思います。C ++ pow関数がfloatsおよびdoubles 以外の「電源」関数を実装しない理由はありますか? 実装が簡単であることは知っています。標準ライブラリにあるべき作業をしているように感じます。堅牢なパワー関数(つまり、一貫した明示的な方法でオーバーフローを処理する)を書くのは楽しいものではありません。

5
OCamlのintが31ビットしかないのはなぜですか?
この「機能」を他のどこにも見たことがない。32番目のビットがガベージコレクションに使用されることを知っています。しかし、なぜそれがintに対してのみであり、他の基本的な型に対してではないのですか?
115 integer  ocaml 

10
数値が別の数値で割り切れるかどうかを確認するにはどうすればよいですか(Python)?
1から1000までの各数値が3の倍数か5の倍数かをテストする必要があります。これを行う方法は、数値を3で除算することです。結果が整数の場合は、 3の倍数になります。5と同じです。 数値が整数かどうかをテストするにはどうすればよいですか? これが私の現在のコードです: n = 0 s = 0 while (n < 1001): x = n/3 if isinstance(x, (int, long)): print 'Multiple of 3!' s = s + n if False: y = n/5 if isinstance(y, (int, long)): s = s + n print 'Number: ' print n print …
112 python  integer  modulus 

3
Python 3が0のリテラルとして「00」を許可し、1のリテラルとして「01」を許可しないのはなぜですか?
Python 3が0のリテラルとして "00"を許可し、1のリテラルとして "01"を許可しないのはなぜですか?正当な理由はありますか?この矛盾は私を困惑させます。(そして、一貫性のような目標を達成するために意図的に下位互換性を壊したPython 3について話しています。) 例えば: >>> from datetime import time >>> time(16, 00) datetime.time(16, 0) >>> time(16, 01) File "<stdin>", line 1 time(16, 01) ^ SyntaxError: invalid token >>>

8
解析対TryParse
Parse()とTryParse()の違いは何ですか? int number = int.Parse(textBoxNumber.Text); // The Try-Parse Method int.TryParse(textBoxNumber.Text, out number); Try-Catchブロックのようなエラーチェックの形式はありますか?
111 c#  parsing  integer  tryparse 

12
C#で整数の配列を合計する方法
そこにあるより良い配列を反復処理よりも短い方法は? int[] arr = new int[] { 1, 2, 3 }; int sum = 0; for (int i = 0; i < arr.Length; i++) { sum += arr[i]; } 説明: プライマリが優れているということは、コードがよりクリーンであることを意味しますが、パフォーマンスの向上に関するヒントも歓迎します。(すでに述べたように:大きな配列の分割)。 それは私がキラーパフォーマンスの改善を探していたようではありません-この非常に種類の構文糖がまだ利用可能ではないのか疑問に思いました: "String.Joinがあります-int []の一体何ですか?"
108 c#  arrays  integer 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.