アカウント名:
パスワード:
Cだとshort intの最大値はSHORT_MAXで、具体的な値は処理系依存だったような…
SSDコントローラに組み込まれてるCPUコアって、だいたいARMだとおもうこれなら最低32bitはあるはず
なのでSHORT_MAXは20億はあるはず
わざわざ明示的にint16を使ったのか、それともCPUコア以外の部分で16bit実装してたのか
どういう理屈??
INT_MAXと取り違えているのに一票。Cの規格上だと、SHRT_MAXもINT_MAXも「32767(2^15-1)以上」ってことになっているけど、intが64bitになったってSHRT_MAXが32767以外になっている処理系に出会ったことはないなぁ。
# WORDとかDWORDとかtypedefしているのをメンテすることあるけど、これはほんと止めて欲しい。サイズも符号の有無も判らなくて、いちいちtypedefしているところを探す羽目になる。最悪なのは、同一プロジェクト内で何にtypedefしているかバラバラなこと。
ひょっとしてこれがあるかな?SATAのコマンドフレームとしてWORD=32bitで表現しているので設計者は32bitあると思い込んでいたが、実際にWORDをtypedefしていたファイルは8bitマイコン時代から使い回していたシロモノでWORD=16bitだったとか。
モトローラ系MPUが、word = 16bit, dword = 32bit。
SHORT_MAXって何ですか?というのはおいておき、GCCもVCもSHRT_MAXが32767で、INT_MAXが2147483647の実装だと思うのだが。
今の時代、処理系依存するような型をクリティカルな場所で使用するなよぉ。stdint.h の存在を知らなかったとはいはせない。
それともやはり、アセンブラで書いているとか。
stdint.hも処理系依存なんだが・・
処理系依存と言っても int32_t が使えて実は16bitなんて事はありえないでしょ。定義されてない場合はあるにしても。
Cだとshortは2バイトなのでSHORT_MAXは0x7FFF固定。intのサイズは処理系依存なのでINT_MAXも処理系依存。
intのサイズは処理系依存だとわかっているのにshortは2バイト固定とか言う馬鹿
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー
言語によって違うけど (スコア:0)
Cだとshort intの最大値はSHORT_MAXで、具体的な値は処理系依存だったような…
Re: (スコア:0)
SSDコントローラに組み込まれてるCPUコアって、だいたいARMだとおもう
これなら最低32bitはあるはず
なのでSHORT_MAXは20億はあるはず
わざわざ明示的にint16を使ったのか、
それともCPUコア以外の部分で16bit実装してたのか
Re: (スコア:0)
SSDコントローラに組み込まれてるCPUコアって、だいたいARMだとおもう
これなら最低32bitはあるはず
なのでSHORT_MAXは20億はあるはず
どういう理屈??
Re: (スコア:0)
INT_MAXと取り違えているのに一票。
Cの規格上だと、SHRT_MAXもINT_MAXも「32767(2^15-1)以上」ってことになっているけど、intが64bitになったってSHRT_MAXが32767以外になっている処理系に出会ったことはないなぁ。
# WORDとかDWORDとかtypedefしているのをメンテすることあるけど、これはほんと止めて欲しい。サイズも符号の有無も判らなくて、いちいちtypedefしているところを探す羽目になる。最悪なのは、同一プロジェクト内で何にtypedefしているかバラバラなこと。
Re:言語によって違うけど (スコア:1)
ひょっとしてこれがあるかな?
SATAのコマンドフレームとしてWORD=32bitで表現しているので設計者は32bitあると思い込んでいたが、実際にWORDをtypedefしていたファイルは8bitマイコン時代から使い回していたシロモノでWORD=16bitだったとか。
Re: (スコア:0)
モトローラ系MPUが、word = 16bit, dword = 32bit。
Re: (スコア:0)
SHORT_MAXって何ですか?
というのはおいておき、GCCもVCもSHRT_MAXが32767で、INT_MAXが2147483647の実装だと思うのだが。
Re: (スコア:0)
今の時代、処理系依存するような型をクリティカルな場所で使用するなよぉ。
stdint.h の存在を知らなかったとはいはせない。
それともやはり、アセンブラで書いているとか。
Re: (スコア:0)
stdint.hも処理系依存なんだが・・
Re: (スコア:0)
処理系依存と言っても int32_t が使えて実は16bitなんて事はありえないでしょ。
定義されてない場合はあるにしても。
Re: (スコア:0)
Cだとshortは2バイトなのでSHORT_MAXは0x7FFF固定。
intのサイズは処理系依存なのでINT_MAXも処理系依存。
Re: (スコア:0)
intのサイズは処理系依存だとわかっているのにshortは2バイト固定とか言う馬鹿