• ベストアンサー

bit数について教えてください。

1.0~99999999までの数を表記するために必要なbit数は? 2.8桁を持つ正と負の両方の値を格納するために必要なbit数は?

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

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8064/17245)
回答No.3

1. 2^26<99999999<2^27 だから27bitあれば0から99999999までの整数を表現できます。 2. 正と負がありますから前問の約2倍の数を表現する事になります。 従って28bitですね。

sironekoudon
質問者

お礼

ありがとうございました

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • DCI4
  • ベストアンサー率29% (448/1540)
回答No.5

数を表記するために必要なbit数は? ★回答 工学的 ざっくり回答 数学的には 2進数 2のべき乗 とうりで表現出来るのが 2進 となる しかしそれは 単純回答を求める 馬鹿なテストの問題だけ しかし工学的には あやまりよ 表記方式にはいろいろある 固定小数点 不動小数点 純2進数 2の補数表記 符号付 2進 BCD 表記 などなど 検索してみりゃわかるでしょ どだい 市販 汎用CPUは 4 8  16 32 64 bit  という 区切りで作成されてるのが多い また 桁がたりなくなった場合も考え 余分にbit追加する設計もある  質問事態へんよ 脆弱な質問

sironekoudon
質問者

お礼

説明不足ですみませんでした。

全文を見る
すると、全ての回答が全文表示されます。
回答No.4

Bit数は2進法ですから2のべき乗と言うことになります 31Bit=2,147,483,648 1.0~99999999という事は小数第1桁までですから999,999,990に正、負で1Bitプラスですから倍になりますから1,999,999,980で31Bitなら可能ということになります。 >2.8桁 とは何ですか??

sironekoudon
質問者

お礼

説明不足でした。すみませんでした

sironekoudon
質問者

補足

紛らわしくてすみません。 冒頭の番号は1番、2番のことです

全文を見る
すると、全ての回答が全文表示されます。
  • lumiheart
  • ベストアンサー率47% (1108/2309)
回答No.2

https://msdn.microsoft.com/ja-jp/library/s3f49ktz.aspx int 4バイト -2,147,483,648 ~ 2,147,483,647 unsigned int 4バイト0 ~ 4,294,967,295 int16 2バイト -32,768 ~ 32,767 unsigned int16 2バイト 0 ~ 65,535

sironekoudon
質問者

お礼

回答ありがとうございました

全文を見る
すると、全ての回答が全文表示されます。
  • maiko0333
  • ベストアンサー率19% (840/4403)
回答No.1

小数を扱うときは言語にもよりますが 2進数で持ちますので計算誤差が生じます。 64ビットで約13桁程度ですね。

sironekoudon
質問者

お礼

回答ありがとうございました

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 32bitについて…

    32bitについて… 以前、素因数分解のプログラムについて質問させていただきました。 http://okwave.jp/qa/q6132983.html int型では32bitなので、 -2147483648 ~ 2147483647(2^31-1) の値までしか扱えないことは理解しました。 もし、20桁の素因数分解をしたい場合どうすればよいのですか? long型とかですか?具体的に教えていただきたいです!! 同様に100桁でしたらどうするのでしょうか? よろしくお願いしますm(_ _)m

  • +8、+4などのように、0より大きい数を正の数といい、-2、-3などの

    +8、+4などのように、0より大きい数を正の数といい、-2、-3などのように、0より小さい数を負の数といいます。0は、正の数でも負の数でもありません。 次の数を、正の数と負の数に分けなさい。また、それぞれ0よりどれだけ大きいか小さいかをいいなさい。                2 -6  +3  +1,2  -ー                5 簡単な問題ですが、答えを教えて下さい。

  • 合計ビット数

    4語(16バイト)からなるブロックを使用した64Kバイトのキャッシュを実現するために必要な合計ビット数を算出せよ.この値はキャッシュの容量とは異なる.キャッシュの容量は通常はキャッシュに格納されるデータのバイト数を指すからである.キャッシュを実現するためのビット数は,データとタグと有効ビットのすべてを格納するのに必要な記憶容量を表す。 この問題で エントリが4K個あり 各エントリは 128bit(データ)+16bit(タグ)+1bit(有効ビット)=145bit ここまで分かったのですが答えが 593,920bit 145*4K では答えになりません どうすればいいのでしょうか?教えてください.よろしくお願いします

  • C言語 10進数→2進数

    キーボードで入力された1以上の正の整数n(1~15)を2進数(4bit)で出力するプログラムを作りたいんですが、 出力例に書かれている内容、 -出力例- 正の整数:12 整数 12 を2進数表記すると下位bitより 0011 となります。 ---- 上記の下位bit、というのはどういう意味でしょうか? また、この下位bitというものをどうやってプログラム上で 表記すればいいのでしょうか? 教えてください。

  • 2進数の足し算について

    CPUは引き算を行うことができず、2の補数を用いて引き算を足し算として考えれると知りました。 そこで8bitの最上位桁を符号とした7bitの引き算-24+(-8)を計算してみたのですが 24(10進数)→0011000(2進数)→1101000(2の補数) 8(10進数)→0001000(2進数)→1111000(2の補数) 符号 7654321←bit  1 1101000 +1 1111000  X 1100000 となり、1100000の2の補数をとると 0100000(2進)→32(10進数)で答えを求められました。 そこでお聞きしたいのですが、値を足したとき(↑の例だと1100000)が求められたときにどういった条件だと1100000の2の補数をとる必要があるのでしょうか? ↑の例だとXがどの条件のときでしょうか? 質問が長くなってしまいましたがよろしくお願いします。

  • 2進法と10進法の演算問題

    2進数→10進数(負の数)<2の補数表現> 8bit(8桁)の一番左のbitは符号bitとする 1)11111111 2)10011100 3)1.0010000 4)1.1100001 上記の問題が分かりません。 4桁ずつに分けて10進法に直して考えればよいのでしょうか? 補数表現自体よく分からないです。

  • 32bitの浮動小数点数表現について悩んでいます

    情報処理の初心者です。 今、14070366(10)を数値データとしてとらえ、 32bitの浮動小数点数で表現するという問題について考えています。 14070366(10) =100111000001010000101110(2) 10進数を2進数に基数変換した部分、25桁が仮数部になるんですよね? 符号部は+なので0。 では指数部の7桁には何が入るのでしょうか? 以上が私の分かっていることですが、 最終的な解答を16進数で表記すると、 14070366はどうなるのでしょうか? お願いします。

  • 正の数・負の数は小学校で学ばせられないのか?

    マイナスの数はたとえ小学生でも日常で普通に使うから、小学校で習った方が良い気がするのですが、何故か中学校で習うみたいです。 自分は分数よりは理解し易いと思っているのですが、不思議と中学校で躓く人が多いと聞きました。 しかし、中学校で躓くのは短期間で正の数・負の数の意味から乗法・除法まで習ったのが原因ではないでしょうか? そこで次のように少しずつステップアップしていくように習わせたら理解出来るのではないでしょうか? 小学4年 正の数・負の数の意味 小学5年 正の数・負の数の加法・減法 小学6年 正の数・負の数の乗法・除法 このようにして正の数・負の数を小学校で学ばせられないのでしょうか?

  • 負の数について

    正×正=正 負×負=正 であるとすると、数直線における左右対称性が失われることについて 納得のいく説明のできる方、教えて下さい。 (上記の正と負を入れ替えると同じ式にならないのはいいのか?) 私の考えでは、あくまで量というものは0より少ない値はないと思います。 マイナスとはベクトルであり、量と方向の二つの性質を持ったものだと思います。 したがって、負×正の計算は、ベクトル×スカラーであり、これはいいと思うのですが、負×負=という計算はベクトル同士の掛け算ということになり、それ自体が不可能だと思います。 ですが、負×負=正の有効性は実社会では実のあるものとなっています。 このことは、どのように理解をすれば良いのでしょうか? よろしくお願いします。

  • 10進数(+-)→2進数への変換(2)

    先ほど、ご質問させて頂きました者です、詳細にご説明させて頂きます (1)10進数:-16072 → 2進数:1100 0001 0011 1000 補足:2進数の16bit目の「1」は符号ビット「ー」 (2)10進数:+16072 → 2進数:0011 1110 1100 1000 補足:2進数の16bit目の「0」は符号ビット「+」 補足:10進数の値の範囲は    2進数で 符号1bitを含む16bitの値の範囲です と変換できるVB関数をご教示ください 宜しくお願いいたします