
No.2ベストアンサー
- 回答日時:
C言語規格書(JISX3010)の
6.4.4.1 整数定数
6.4.4.2 浮動小数点定数
に記述があります。
わかりやすいサイトも参考にリンクを載せます。
http://www9.plala.or.jp/sgwr-t/c/sec13.html
の「13-4.定数の修飾」
接尾辞を指定しない場合、整数定数の10進定数の場合
・int
・long int
・long long int
の順で、解釈されます。
単に 10 と記述すれば int の範囲内であるため int型の定数になります。
intの範囲外の値である場合、long intの範囲内であればlong int型の定数に、
long intの範囲外であれば、long long intの範囲内であればlong long int型で扱われます。
long long intの範囲外であればエラーがでるのかな。
ここで、たとえば
long int i = 0;
と記述すると、int型定数からlong int型に代入するため内部的にキャストが行われるんではないでしょうか?
だったら最初から
long int i = 0L;
としておいた方が効率がよさそうです。
また、関数の引数でlong intを欲しているときも同様です。
void hoge(long int i);
hoge(10); よりも hoge(10L);
(C++になると型に五月蠅くなるので、接尾辞をつけないとエラーになるケースもある。)
なるほど!あらかじめ代入される変数と代入する定数の型を合わせておけば処理が早くなるんですね。
サフィックスの有り無しで代入の速度がどう変わるか実験してみたのですが(unsigned longの変数に10と10ULを代入した際の速度の差)、結果はどちらも変わりませんでした。最近のコンパイラは最適化がんばってくれてるんですね。ということは、最近のコンパイラではサフィックスの意味はあまりないかも・・・?
意味がわかってすっきりしました。回答ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語のサフィックスについて
-
VBAで入力数値について
-
エクセルVBAでテキストボッ...
-
Vba 電卓のテキストボックスに...
-
タイムアウトする仕組みを作りたい
-
C#のループでtextboxに値を入れ...
-
チェックボックスを操作できな...
-
VB.NETでのイベントの途中終了
-
パーソナルXLSBのfuctionを呼び...
-
音が鳴らないようにしたい
-
TextBoxの内容を右寄せ
-
アクセスできない保護レベルエ...
-
subsequentとnextの違いってな...
-
Matlab/SimulinkのChirp信号に...
-
Excel VBAでsub,dimは何の略?
-
Functionの戻り値を配列にした...
-
テキストボックスに大文字を
-
label画像の縮小と再表示
-
【VB.NET】テキストボックスに...
-
xmlの値を配列変数に格納し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語のサフィックスについて
-
「ずっと憧れていました」は英...
-
#define hoge long longって正...
-
C++のActiveX DLLでポインタを...
-
初期化関数でmallocしたい
-
エクセルVBAでテキストボッ...
-
他のフォームから別のフォーム...
-
VBA public変数はどのようなこ...
-
C#のループでtextboxに値を入れ...
-
アクセスできない保護レベルエ...
-
ユーザーフォームへのデータ入...
-
VB.NETでのイベントの途中終了
-
【VB.NET】テキストボックスに...
-
二点の座標から距離や角度を求...
-
チェックボックスを操作できな...
-
【VB6.0】 あるフォームから他...
-
VBAで入力数値について
-
テキストボックスかラベル上の...
-
VBAでcallで呼び出したsubを終...
-
レコードセットにnullの場合
おすすめ情報