16進数で12ビットの時ACC+FFFはOKで
10進数で10ビットの時512-200がオーバーフローである

ってのがよくわかりません。^^;

単純にビット数を越えたらオーバーフローって覚えていたんでテストで×されて少し戸惑ってしまいました。

よろしくおねがいします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

整数演算(正数ではない)だとすればそうなるのかも??



16進数で12ビットの時ACC+FFF の場合
ACCh は負の値、-1332、FFFh は-1と成ります。
よって、(-1332)+(-1) = -1333 と成り、12ビットの有効範囲は-2048~2047なのでOK

10進数で10ビットの時512-200 の場合
512は16進数に直すと200h と成り、之は負の値なので-512と成ります。200はそのままです。
よって、(-512)-(200) = -712 と成り、10ビットの有効範囲は-512~511なのでNG

て事でしょうか?

但し、条件付けがおかしいですが(16進数で整数演算すること自体がおかしい)

之は何かのクイズ問題ですか?

10進数の法は512と言うだけでオーバーフローの可能性のありますが・・・
    • good
    • 0
この回答へのお礼

素早い回答ありがとうございます。

>ACCh は負の値、-1332、FFFh は-1と成ります。
この負の値ってのはどこから判断すればいいんですかね?
ACC(16 →101011001100(2 →4+8+64+128+512+2048(10
ってことにはならないってことですよね・・・?

この授業の先生が全部英語で話すんで途中でよくわからなくなってしまいました^^;

>之は何かのクイズ問題ですか?
その授業の最後にあるミニテストです

問題は
perform the operation on this radix-16 number:
Convert to 2's complement 14-bit binary;
ACC + FFF
です

お礼日時:2005/06/22 17:24

>perform the operation on this radix-16 number:


>Convert to 2's complement 14-bit binary;
これ、14で間違いないですか?質問中には12ビットとありますが、どちらが正しい?問題の流れから12が正しいと思うので12の誤記として回答します。

2の補数表現と言う条件があるので、符号付きの2進数になります。最上位ビットが0なら正の数かゼロ、最上位ビットが1なら負の数になります。

ACC、FFFいずれも最上位ビットが1なので負の数です。加算結果のACBも負の数(最上位ビットが1)なのでオーバーフローはありません。負の数同士を足して結果が正(最上位ビットが0)になれば、オーバーフローありです。
また、正の数同士を足して結果が正(最上位ビットが0)ならオーバーフローなし、負(最上位ビットが1)になればオーバーフローありです。

512は2の補数表現10ビットで表現できないのでこの時点でオーバーフローです。
#1の方の解釈のように-512と解釈すると、(-512)+(-200)=312となり、負の数同士を足して正になったのでオーバーフローありです。

もしよくわからなければ、「2の補数表現」の復習ですね。
    • good
    • 0
この回答へのお礼

御礼が遅くなりました。
ていねいにありがとうございました。

お礼日時:2005/07/19 01:14

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qニ進数における「1の補数」の欠点

質問はタイトルそのままなんですが、どのような
欠点があるのでしょうか??
色々調べてみたんですがどうしてもわかりません。

よろしくお願いします。

Aベストアンサー

7(10)を8ビット2進数で表わすと00000111(2)。
-7(10)を8ビット2進数(2の補数)で表わすと11111001(2)。
この2つを足すと00000111 + 11111001 = 100000000。
ここで、2進数を8ビットとしているので、00000000。
絶対値の同じ正負の数を加算すると0。
2の補数で計算すると、それが自然に実現できる。

しかし、1の補数だと、
7(10)を8ビット2進数で表わすと00000111(2)。
-7(10)を8ビット2進数(1の補数)で表わすと11111000(2)。
この2つを足すと00000111 + 11111000 = 11111111 != 0。
絶対値の同じ正負の数を加算すると0。
1の補数で計算すると、そこに矛盾が生じる。

Q8ビット・24ビット違いを

8ビット・24ビット違いを
簡単に人に説明する

方法教えて下さい

Aベストアンサー

マッチ棒が8本あるのと24本あるかの違い。

Qビットとかキロビットとかちんぷんかんぷんで・・・助けてください><

私は理工学系でもなく数字は苦手なのですが、これだけは理解したいのです。

1kb = 1024b

1B = 8b

1KB = 1024B・・・

あってるかどうかわかりませんが・・・
それでは本題に入ります。
例えば5分間の128kbps音声の容量を計算すると、

128 * 300 = 38400b

38400 / 8 = 4800KB

つまり

4800 = 4.8MB

というようになるのが普通ですが、
なぜこのような計算になるのかが私には理解できません。
だって128kbpsというのは

128 * 1024 = 131072b

ではないのですか?それならば、

128 * 1024 = 131072b

131072 * 300 = 39321600b

39321600 / 8 = 4915220B

4915220 / 1024 = 4800.01953125KB

4800.01953125 / 1024 = 4.687519073486328125MB

ということではないのでしょうか??
何故、計算時のこの(38400 / 8 = 4800KB)時点で8を使って割るのかが分かりません。
私は自分が馬鹿げたことを言っているのは分かっています。
数学は得意ではありませんので。
だからこそプロの方々にお願いしたいのです。
誰か猿でも分かる簡単説明で私に教えて下さい><
頭のモヤモヤが晴れなくて昨日からずっと寝られないんです><

私は理工学系でもなく数字は苦手なのですが、これだけは理解したいのです。

1kb = 1024b

1B = 8b

1KB = 1024B・・・

あってるかどうかわかりませんが・・・
それでは本題に入ります。
例えば5分間の128kbps音声の容量を計算すると、

128 * 300 = 38400b

38400 / 8 = 4800KB

つまり

4800 = 4.8MB

というようになるのが普通ですが、
なぜこのような計算になるのかが私には理解できません。
だって128kbpsというのは

128 * 1024 = 131072b

ではないのですか?それならば、

1...続きを読む

Aベストアンサー

1つ、前提が間違っています。ビットレートの単位、kbpsのkは通常1000倍です。私も当初1024だと思い込んでましたが、国内外の音楽関係ソフト5種類で確認したところ全て1000で計算してましたね。
それ以外のbit、Byteの前に付くKは1024倍、Mは1024×1024倍が普通です(データサイズを表す場合)。

従って正しい計算は、
128(kbps) × 1000 = 128000(bit/sec.)
128000(bit/sec.) × 300(sec.) = 38400000(bit)
38400000(bit) / 8 = 4800000(Byte)
4800000(Byte) / 1024 = 4687.5(KB)
4687.5(KB) / 1024 = 4.57763671875(MB)
という事になります。
勿論、ビットレートはタグなどを除いた音声データ部のみについての値ですので、実際のファイルサイズはこの数字にタグサイズを加えた値になります。
mp3tagというタグエディタはファイルサイズ、タグサイズ、ビットレートを表示できるので検証の際には役立つと思います。

1つ、前提が間違っています。ビットレートの単位、kbpsのkは通常1000倍です。私も当初1024だと思い込んでましたが、国内外の音楽関係ソフト5種類で確認したところ全て1000で計算してましたね。
それ以外のbit、Byteの前に付くKは1024倍、Mは1024×1024倍が普通です(データサイズを表す場合)。

従って正しい計算は、
128(kbps) × 1000 = 128000(bit/sec.)
128000(bit/sec.) × 300(sec.) = 38400000(bit)
38400000(bit) / 8 = 4800000(Byte)
4800000(Byte) / 1024 = 4687.5(KB)
4687.5(KB) / 1024...続きを読む

Q今PCを買うなら32ビット ro 64ビットどちら?

ちかじかPCを買おうと思っているのですが、32ビットか64ビットどちらにした方が良いのでしょうか?
「今は32ビットの方が使いやすい」「32ビットから64ビットに変えられる」という情報もあったので32ビットにしようと思ったのですが「32ビットから64ビットに変えると不具合が起きる可能性がある」「今後は64ビットが主流になっていくかも」と書いてあったので悩んでいます。
初心者質問ですがよろしければ回答よろしくお願いします。

Aベストアンサー

64bitOSはまだ早いと思います(ドライバやアプリソフトの対応)が、、、
でもメモリの制限は、32bitOSは4GBまでで64bitOSは12GB・24GBまで認識したはずです。(マザーにより最大搭載容量も違いますので。)

Vista・Win7のダウングレードXP-Pro-32bitを購入しておき、64bit-Win7にする時はアップグレード・ステップアップパッケージ版を買えば良いのかも。(ソフトやハードが充実してから。。。)
パッケージ版の種類により、32bit・64bit両方のディスクが入っています。
ただし、32bitOSから64bitOSにする場合は、かならずクリーンイストをしないといけないという事がデメリットです。

ただ、オフィス関係の作業しかしないなら、64bitOSでも問題ないです。(接続予定のUSBメモリや周辺機器が対応していれば。。。)
ゲームソフト関係は、まだまだ32bitOSが良いとおもわれます。
まだ購入していないなら、店員さんに使いたいソフト等の情報をお伝えして、判断して貰いましょう。
当方はまだまだ、VistaやWin7のダウングレードXP-32bitで購入・使用しています。

    

64bitOSはまだ早いと思います(ドライバやアプリソフトの対応)が、、、
でもメモリの制限は、32bitOSは4GBまでで64bitOSは12GB・24GBまで認識したはずです。(マザーにより最大搭載容量も違いますので。)

Vista・Win7のダウングレードXP-Pro-32bitを購入しておき、64bit-Win7にする時はアップグレード・ステップアップパッケージ版を買えば良いのかも。(ソフトやハードが充実してから。。。)
パッケージ版の種類により、32bit・64bit両方のディスクが入っています。
ただし、32bitOSから64bitOSにする場...続きを読む

Q24ビットビットマップから拡張子[.bmp]を[.ico]に変える。

eマークのアイコンを自作アイコに変えたいのですがうまく行きません

ペイントで作成した、ファイルを[名前を付けて保存]を選択クリック→ファイル名を入れ→ファイルの種類(T)で24ビットビットマップを選択して保存。

ここから出来ません。
保存したファイルの拡張子[.bmp]を[.ico]に変える。
win vista使用

Aベストアンサー

>>エクスプローラで「ツール」>「フォルダオプション」
>フォルダオプションがありません、一番下のインターネットオプションを開いて見たのですが~

それは「エクスプローラ」じゃなくて「インターネットエクスプローラ」です。
「エクスプローラ」は「マイコンピュータ」や「マイドキュメント」などを開く機能のことです。
フォルダオプションにはコントロールパネルからもアクセス出来ます。


人気Q&Aランキング

おすすめ情報