人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

一般的にC言語のint型は、メモリ上では2進法で、負の数は2の補数で表現されるものですが、これはCの規格上定められているものでしょうか?
2進法以外で整数値を表現するCの処理系というのはありえるのでしょうか?

●質問者: Sampo
●カテゴリ:コンピュータ
✍キーワード:C言語 メモリ 処理系 整数 表現
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● dev_zer0
●60ポイント ベストアンサー

intは規格上では

・+32767?-32767が表現可能であること

・sizeof short <= sizeof int <= sizeof longであること

しか定められていません。


例えば1の補数などで表現することも可能であり、そういう処理系も作ろうと思えば作ることができますが、

私が知っているコンパイラで2の補数以外の表現をしているコンパイラはないです。


2の補数だと正負を意識することなく加減算が行える為、これ以外の方法は面倒な上に利点がないと思われます。

◎質問者からの返答

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ