• ベストアンサー

ビット列で数を表現する

ときに 000:0 001:1 010:2 011:3 100:-4 101:-3 110:-2 111:-1 のように 符号付整数は2の補数で表現されますが 符号無整数(0以上の整数)を表現する通常の表現方法はなんというのでしょうか? 例えば 000:0 001:1 010:2 011:3 100:4 101:5 110:6 111:7 のように表現する方法はなんというのでしょうか? 「2の補数表現」のような名前はついていないのでしょうか? オフセットバイナリとはちがうような

  • guuman
  • お礼率86% (1043/1206)
  • 科学
  • 回答数2
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • dahho
  • ベストアンサー率44% (68/153)
回答No.2

符号付整数では負の数は正の数の2に対する補数で表されます。 オフセットバイナリを調べてみたらADコンバータなどで、「2の補数表現」と「オフセットバイナリ」が切り替えできるという表現がありました。 このことから考えると、ソフトウェアの分野では「符号付整数」と呼ぶものを電子工学の分野では「2の補数表現」と呼んでいて、ソフトウェアの「符号無整数」を電子工学で「オフセットバイナリ」と呼んでいるのではないでしょうか? 質問者のおっしゃっている「2の補数表現」は本来の意味(数学的な意味)での用語ではないと思われます。 http://ja.wikipedia.org/wiki/2%E3%81%AE%E8%A3%9C%E6%95%B0 http://ja.wikipedia.org/wiki/%E8%A3%9C%E6%95%B0

guuman
質問者

お礼

ありがとうございます この辺は統一した呼び名はなく各分野でそれぞれ慣用的な表現をしているのですね 論文を書いたりするときにはっきりされるために数式でnビットの場合について一々定義していたら大変な労力になりますね

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

単に2進数か符号無し2進数でいいんじゃないでしょうか

guuman
質問者

お礼

ありがとうございます 特に名前はついていないのですね

関連するQ&A

  • 8ビットを2進数で表現すると…

    質問です。 符号付の整数を8ビットの2進数で表現するとき、00110111-11000001の演算結果はどのようになるのでしょうか? 符号ビットは左端にあり、負数は2の補数で表します。

  • 符号付の整数8ビット…

    教えてください。 符号付整数8ビットの2の補数で表現するときの11101111-11110011の計算を2進数で示すときの途中の計算方法を教えてください。 10進数のー13を8ビットの固定小数点(負数は2mの補数形式)の途中の計算方法も教えてください。

  • 1の補数表現

    昔の本を買って情報処理の勉強をしているのですが ふに落ちない事がありまして質問させていただきます。 符号付の整数を8ビットの2進数であらわす時、1の補数表現で最小の数は-128である。 と言う問題がありまして回答が正しいとなっていました。 しかし自分は-127までしか表現できないと思いまして。。。 2の補数表現なら-128~127まで表現できると思うのですが 1の補数表現なら-127~127までしか表現できないと思います。 詳しい方がいましたらよろしくお願いします。

  • 9ビットの2進数を符号付整数…

    問題の意味がわからないのですが、どう解けばいいですか? 9ビットの2進数を符号付の整数とみなしたときの数値の範囲を、10進数で下限~上限の形で示せ。符号は2の補数。

  • ビット数と表現できる数の範囲の関係

    基本情報技術者の勉強を独学でしています。 nビットを用いると、符号なし整数なら0~2^n-1の範囲、符号付整数なら2^(n-1)~2^(n-1)-1の範囲の値を表す事ができると参考書にありました。 ここで気になったのですが、もしn=2の場合、符号付き整数は-2~1の範囲にある4(2^2)個が表現できる事になりますよね? 00が0、01が1、11が-1までは納得がいくのですが 10を-2として扱って良いのかわからなくなってしまいました。 これはどのように考えれば良いのでしょうか?

  • Javaにて負の符号付整数を表現する場合、2の補数を必ず使用するのでしょうか?

    とある、ホームページに、 「Javaでは、負の符号付整数を表現するのに、2の補数 (2's complement) を使います。」 との記述があったのですが、負数表現は必ず2の補数のみなのでしょうか。例外が考えられる場合はありえるのでしょうか。 御回答の程、宜しくお願い致します。

    • ベストアンサー
    • Java
  • 問:負数を2の補数で表現する符号付き16ビットの2進数を16進法で表示

    問:負数を2の補数で表現する符号付き16ビットの2進数を16進法で表示したもののうち、4倍するとあふれが生じるものはどれか。 ア 1FFF イ DFFF ウ E000 エ FFFF 以下は、それぞれを2進数表示にしたものです。 先頭の符号ビットは[0]の表記で目立たせてあります。 ア [0]001 1111 1111 1111 イ [1]101 1111 1111 1111 ウ [1]110 0000 0000 0000 エ [1]111 1111 1111 1111 以下は、4倍したもの ア [0]111 1111 1111 1100 イ [0]111 1111 1111 1100 ウ [1]011 0000 0000 0000 エ [1]111 1111 1111 1100 この場合は、ア以外は負数ですが、『負数を2の補数で表現する符号付き16ビットの2進数を、16進数で表現した場合』は16進数が正の数でも、2進数だと負数になると言う事でしょうか? また、符号付きでない場合は、上記はすべて正の数と言う事で合ってますか? 回答を見る感じでは16進数を2進数に変換しただけで、『2の補数で表現』の部分がないように思えます。この辺りも知りたいです。 問題の解き方についても疑問があります。 http://questionbox.jp.msn.com/qa4278151.html での回答では、 イ DFFF →(シフト前)1101 1111 1111 1111 →(シフト後)0111 1111 1111 1100 先頭ビットが1から0に変わったので「桁あふれ」。 問題集の回答ではこっちで説明されていました。 http://okwave.jp/qa/q4302488.html のANo2回答では (シフト前)[1]101 1111 1111 1111 (シフト後)[1]111 1111 1111 1100 2の補数表現による負の数の場合,シフト操作によって1が消えていくのは問題ない。 シフト操作によって0が消えると結果が変になる。これが「あふれ」 符号はシフトさせず、左に2つシフトさせた事で、10が消えた事で桁あふれとしています。 ANo1の回答では、 DFFFだと同様に 1101 1111 1111 1111で1の補数は 0010 0000 0000 0000 2の補数は 0010 0000 0000 0001 つまり、-8193ですよね。 4倍すると、-32772で、これは16ビットの2の補数表現 で表現できる数の範囲からあふれてしまいます。 DFFFなどの2進数に変換後、2の補数を使用するのが正しいのでしょうか? 最初の2つの回答では2の補数を使用していなかったので、疑問に思っています。 頭が混乱しております・・・。 回答宜しくお願い致します。

  • 補数表現で表現できる数値の範囲

    8ビット固定小数点(補数表現)で表現できる数値の範囲を 求める問題があります。 この場合の補数表現は2の補数且つ符号付絶対値表現なのでしょうか? また、この問題の解説をお願いします。

  • 記数法(n進数)

    ① −(2D)16 を符号付絶対値 8 ビットで表す ② −(146)8 を「負数は 2 の補数で表現する」8 ビットで表す ③ 符号付絶対値 8 ビット (10110101)2 を 10 進数で表す ④「負数は 1 の補数で表現する」 8 ビット (01011001)2 を 8 進数で表す ⑤「負数は 2 の補数で表現する」 8 ビット (10111011)2 を 16 進数で表す ()の後の数字は小文字です。 n進数からm進数への変換と計算はできるようになったのですが、ビットの表現などが分からないので教えて頂きたいです。

  • 初心者な質問その7

    8bit符号付整数(2の補数表現)における最大値と最小値は いくらになるんでしょうか?(10進数で) 本当に初心者な問題ですみません。 2の補数表現、なにを意味する表現なのかさっぱりわかりません。 持ってる教科書を何度読み返してもわからなかったので質問しました。 宜しくお願いします。