はじめて質問します。
言葉足らずでわかっていただけるかどうか不安ですが…。
同じMHzの16ビットのCPUと32ビットのCPUとでは、
処理速度って違うのでしょうか?
16ビットのCPUと32ビットのCPUとの違いを書いているページは
多々見かけたりするのですが、周波数とからめてかかれたページがなく、
実際、何がどう違うのかわかりません。
一度にそれぞれ16ビットや32ビットアクセスするのだと思うのですが、
そうなると、同じ周波数ならずいぶん速度が違ってしまうような…。
一度にアクセスできるというのも、1回の振動で16ビット、または
32ビットの処理をするということなのでしょうか?
どなたか、教えてください。
お願いいたします。

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

A 回答 (9件)

1回の振動で16ビット又は32ビットの処理をするということです。


画像データなどの莫大なデータを処理する場合はビット数が大きく影響してきます。
周波数が多少低くてもビット数が多ければ一度にたくさんのデータを処理できるからです。
ただ、データ量がほとんど無いプログラムコードでしたら
ビット数より周波数により処理速度に影響してきます。
また、32ビットCPUで16ビット用のプログラムを動かした場合は同一周波数の16ビットCPUより遅くなることもあります。それは32ビットCPUが32ビットで動作させたときに最大限の能力を発揮できるように最適化されており、16ビットの作業では効率が悪い為です。
    • good
    • 0
この回答へのお礼

回答していただき、ありがとうございます。
影響するものが
データ量が多い場合はビット数
データ量が少ないときは周波数
と変わるなんてまったくしりませんでした。
やはり、データが多いときは一度にたくさんの量が処理できる方が良くて、
データが少ないときは早く処理が進むほうが良いってことですよね?
勉強になりました。
ありがとうございました。

お礼日時:2001/01/24 10:55

おもしろいところで、日立のSHシリーズのCPUがあります。

(セガサターンやドリキャスのCPUです)
これらは32ビットなのですが、わざわざCPUの一つ一つの命令を16ビットにしてあります。
16ビットになることで処理負荷は増すのですが、そのかわり二つの命令を同時にCPUに取り込むことで高速処理を実現しようとしています。
ビット数を減らすことで処理速度を上げるという面白い反例ですね。
したがって、他の方の質問にもあるとおり、CPUのどこが何ビットなのかで処理速度が変わってくるんですねぇ。
Pentium等は32ビットCPUですが、CPUへのデータと命令の受け口をそれぞれ64ビットで持ってます。

結論からいうと、処理速度に影響するのは以下の5つの要素があります。
1.CPUがデータや命令にアクセスできるビット数
2.CPUがひとつの計算に使用できるビット数
4.CPUが1回の計算にかかる振動(クロック)数
3.CPUが同時にできる処理数
5.CPUが1秒間に何回の処理工程をこなせるかの振動(クロック)数
  (通常の600MHzとかのあれですね)
となります。
当然、すべて多いにこしたことはないのですが、コスト的な問題がありますので、どこを重視しているかがCPUの個性でもあり、メーカーの手腕でもあります。
以上、よけい混乱させてしまったようでしたらごめんなさい。(^^;
ご参考までに。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
ポイントが押さえてくれてあるので、
とてもわかりやすいです。
CPUを買う場合は、使用内容に応じて
CPUの個性が生かせるものを選ばないといけませんね。
参考にさせていただきます。
どうもありがとうございました。

お礼日時:2001/01/24 11:12

> はじめて質問します。



ん? 初めてじゃないですよね? まったく同じ質問を
されてますもんね?(^^;

同じ質問を(カテゴリは違っても)複数書き込むことは
やめましょう。マルチポスト(多重投稿)といって、回答が
分散するなどの理由からマナー違反とされています。

管理者さんにメールで連絡して、2つの同じ質問と、それらに
ついた回答を、1つのツリーにまとめてもらうようにお願い
されることをお勧めします。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
質問後にカテゴリーが間違っていたので
取り消そうと思ったのですが、方法がわからず
もう一回同じ質問をしてしまいました。

ツリーにまとめてもらうよう連絡してみます。

お礼日時:2001/01/24 10:37

まずCPUの1命令で操作できるデータの単位が倍になります。

16bitだったら1度に16ビットつまり2バイト、32ビットだったら一度に32ビット=4バイトです。

また一度に取り扱えるメモリ領域も大きくなります。
そして命CPUの命令自体も1度に出来ることが多くなり一度に複雑な処理が出来ます。

また周波数というのはbit数とはまた違うところにあります。
周波数とは1秒間に何回CPUに処理をさせるかという物を決めています。
300Mhzと600Mhとでは1秒間に出来る命令が倍違うということです。

このように同じ土俵卯のように見えていてもちょっと違いますのでビット数と周波数を絡めて評価しにくいのです。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
周波数とbit数とは違うところにあるから
一緒にからめて書かれてあることも少ないわけですね。
確かに、一緒に考えるのは難しいですよねぇ。

参考になりました。
ありがとうございました。

お礼日時:2001/01/24 10:41

> 一度にそれぞれ16ビットや32ビットアクセスするのだと思うのですが、


> そうなると、同じ周波数ならずいぶん速度が違ってしまうような…。

一度に処理できるデータの大きさは倍になります。内部の構造も新しい設計の
方(この場合32bit)が工夫されているので高速であると予想されます。
但し、ソフトウェアのほうも32bitでの処理に最適化されていないと
真価を発揮できない場合があります。

# 例 Windows 95等 (^_^;


> 一度にアクセスできるというのも、1回の振動で16ビット、または
> 32ビットの処理をするということなのでしょうか?

そうです。ただし、intel の x86系のように互換性を保つように
設計されたものもあるので32bitCPUでも16bitモードで動作している
プログラムがある場合は足を引っ張られます。

# 雑駁な説明ですが大体こんな所かとおもいます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
大変参考になりました。

ハードが32bitのものでも、ソフトが対応していなければ、
32bitCPUでも常にフルの状態で動作できるわけではないのですね。
勉強になりました。
どうもありがとうございました。

お礼日時:2001/01/24 10:45

いい忘れてましたが、16ビットCPUと32ビットCPUの定義にはあいまいな部分もありますので覚えておいてください。


例として
インテル社製 386SXは内部処理32ビットですが外部へのアクセスは16ビットです。インテルとしてはこれを32ビットCPUとして出荷していました。
モトローラ社製 MC68000も同じく内部処理32ビットで外部へのアクセスは16ビットです。モトローラはこれを16ビットCPUとして出荷していました。
つまり、16ビットと32ビットの混在のシステムもあるのです。この場合はメーカーによって見解が違うようです。
最近出荷されているCPUにも似たようなものはあると思います。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございました。
参考にさせていただきます。

しかし、見解がそれぞれ違うとは…。
購入時にはちゃんと確認とかしないといけないですね。
どうもありがとうございました。

お礼日時:2001/01/24 11:08

bitというのは、binary digitの略で、(0または1の)二進数字ということです。


2進数の1桁をあらわします。16bitというのは、2進数の16桁ということです。
10進数になおすと、2の16乗で、2^16=65536になります。
32bitは、10進数に直すと、2の32乗で、2^32=4294967296となります。
16bitの2の16乗倍です。(2^32=2^(16+16)=2^16*2^16)
16bitCPUのころは、文字情報だけしか扱えず、フォントを使い分ける代わりに、倍角、縦倍角、4倍角などで誤魔化すしかなかったのですが、32bitCPUになって、WYSIWYG(What You See Is What You Get)が実現し、Windows環境を享受できるようになりました。(8bitでは、カタカナしか扱えませんでした。2^8=256では、漢字は表現できない)
下に挙げたようなCPUの変遷とともに、動作スピードも速くなってきていますが、CPUの処理能力ほど飛躍的には伸びていません。せいぜい数倍程度です。
それで、周波数の違いを比べたくなるのでしょうが、まったく比較の対象になりません。16bitと32bitでは、一度に処理するデータ量がまるで違います。
また、32bitCPUで16bitのアプリケーションを動かせば、格段に速く動くかというと、そういうことはなく、アプリケーションが32bitに対応していなければ意味がありません。
なお、16bitカラーでは、32,768色を表現し、24bitカラーは、16,777,216色を表現します。24bitカラーは、デジタル処理におけるもっとも標準的な色表現になっており、フルカラー(full color)あるいはトゥルーカラー(true color)と呼ばれています。

PentiumII ... CISC(RISC), 32bit, {...400Mhz,etc.}
Pentium ... CISC(RISC), 32bit, {...400Mhz,etc.}
Sparc ... RISC, 32bit, ...
PowerPC ... RISC, 32bit, 64bit.
SH ... RISC, 32bit,
i486 ... CISC, 32bit,
MC68040 ... CISC, 32bit, ...
i8086 ... CISC, 16bit, パソコン搭載で大ヒット
MC68000 ... CISC, 16bit, 初期の Mac, EWS でよく使われた。
Z8000 ... CISC, 16bit, コンピュータグラフィクス等で よく使われた。
Z80 ... CISC, 8bit, 大ヒット CPU
    • good
    • 0
この回答へのお礼

大変、丁寧な回答ありがとうございます。
フォントやカラーのことまで書いていただいて…。
とても勉強になりました。
あまりにも詳しく書いてくださっているので
びっくりしました。

しかし、高性能のCPUをフルに生かすためにも、
他の要素がそれに対応していないと宝の持ち腐れに
なってしまうのですね。
難しいものですねぇ。

お礼日時:2001/01/24 11:06

書かれている「1回の振動で16ビット、または32ビットの処理をするということ」でだいたい合ってます。


ただ一度に16ビットしか計算する必要がない場合もあるので、
必ずしも速度比が2倍とはなりません。
もちろんそれ以外にも処理速度に影響する条件はありますし。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
大体、合っているということで
ホッとしました。
どうも、ありがとうございました。

お礼日時:2001/01/24 11:01

仰有るようなご理解で。

基本的にはいいかと思います。
つまり、同一クロックなら、32ビットのCPUは16ビットのCPUの倍の能力がある、という事です。
つまり、16車線の道路と、32車線の道路の(こんなの無いですが)処理能力の違いと思ってください。
実際には、その他の問題や新しい技術の導入或いは他の要因によって、倍以下であったり、以上であったりします。
ただ、CPUの処理能力のみで言えば、概ね正解だと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
16車線の道路と、32車線の道路ですか…。
ユニークでわかりやすいですね。
説明するときに使わせていただこうかしら。
しかし、CPUの種類やその他の要因で、
同じ周波数、ビット数のものでも
同じ処理能力とはいえないのですね。
簡潔でわかりやすい説明ありがとうございました。

お礼日時:2001/01/24 10:59

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

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

このQ&Aを見た人が検索しているワード

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

QDAWビットレート高品質変換32bit→16bit

プロの現場ではビットレート等32bit/192kHzで録音し
それを16bit/44khzに変換してCd化するのが主流なようですが、
アマチュアでDAWをやってる人間が通常使っているソフト等で変換しても劣化するだけで最初の32bitとか意味がないみたいですよね?
ですが最近SSRCというリサンプラの存在を知ってこれだとあまり劣化せずに16bitに変換できるそうです。
ですがなぜか一部の心無いユーザーへの抗議として現在ダウンロード不可になっています。
ですので、このソフトの代わりになるような高音質で変換できるソフトってないでしょうか?
あったら教えてください。
お願いします。

Aベストアンサー

>> プロの現場ではビットレート等32bit/192kHzで録音し //

それほど詳しい訳ではありませんが、おそらく主流は24bit/48kHzです。

ビット深度が24bitなのは、

(1) 16bitだと理論上のダイナミックレンジが96dBしかなく、人間の聴覚の範囲(120~130dB程度)をカバーできないこと、
(2) また、現実には20dB程度の余裕が欲しいので、実効値では70~80dB程度しか使えず、音源のダイナミックレンジもカバーできないこと、
(3) 24bitだと理論値で144dB、実効値で120dB以上なのでこれらの問題が生じないこと、
(4) また、多くのマイクのダイナミックレンジが最大でも120~140dBなので、これ以上あっても仕方ないこと、
(5) 業務用も含めてオーディオインターフェイスの上限が24bitであること、

などが理由です。

また、サンプリングレートが48kHzなのは、

(1) 映像系では長らく48kHzが使われてきたこと、
(2) ローパスフィルタの性能が良くなって急峻なフィルタでも位相歪みがあまり問題にならなくなったこと、
(3) そのため、88.2kHzや96kHz以上では、データ量が増える割に音質面での見返りが少ないこと、

などが理由でしょう。

>> アマチュアでDAWをやってる人間が通常使っているソフト等で変換しても劣化するだけで //

DAWの中でサンプリングレート変換の質が良いことで有名なのは、Cubaseです。ApogeeのUV22というディザを搭載しているからです。他のDAWだと、たとえばiZotopeなどのプラグインを購入・追加するのが一般的でしょう。

もっとも、名の通ったDAW(Cubase、Sonar、Logic、Digital Performer、Live、Pro Toolsなど)であれば、こういったプラグインなしでもそれほど悲惨な変換はされないでしょう。特にアマチュアレベルだと、そういった差を気にするほどのクオリティで制作すること自体が難しいので、気にしてもあまり意味はないと思います。

それでも気になるなら、上記の通りiZotopeなどの製品を購入すれば良いかと思います。

>> プロの現場ではビットレート等32bit/192kHzで録音し //

それほど詳しい訳ではありませんが、おそらく主流は24bit/48kHzです。

ビット深度が24bitなのは、

(1) 16bitだと理論上のダイナミックレンジが96dBしかなく、人間の聴覚の範囲(120~130dB程度)をカバーできないこと、
(2) また、現実には20dB程度の余裕が欲しいので、実効値では70~80dB程度しか使えず、音源のダイナミックレンジもカバーできないこと、
(3) 24bitだと理論値で144dB、実効値で120dB以上なのでこれらの問題が生じないこ...続きを読む

Q64ビット、32ビットCPUについて

質問しておいて申し訳ないですが
現時点でほぼCPU等の知識はありません。

コンピュータ概論という科目で勉強中の身です。

テキストを読んでいて気になったところがあるので質問します。

「32ビットCPUでは汎用レジスタが32ビット長で8本だったのが、64ビット対応のCPUでは64ビット長で16本と4倍に増えています」

という文面についてなのですが

最後の4倍というところが引っかかっています。
正直現時点で知識がなさ過ぎるので詳しい事を説明されても、余計こんがらがってしまうだけなのですが

単純に数字だけ見て、32ビット長が64ビット長に、8本が16本にでそれぞれ2倍なので
結果4倍という感じでしょうか?



後、以前ちょっと電源ユニットとマザーボードに関しての質問をしたのですが
その際、テキストに載っている文面をそのまま載せたところ
この文面は違うという指摘を受けました。

大学側が指定したテキストなので、このテキストを読んだ上でレポートを書くのですが
文面が間違っていると言われるとどうしたらいいものか…
(ただ、その文面がある単元は、レポートを書くのには直接必要ないところではありますが)

本によって、記載されている事柄が真実とは多少異なるというのは普通にあることでしょうか?
(教科書的なテキストの話です)


ちなみに、テキストには
「A+B=C」と書かれていたのですが、(あまり他の可能性を含む的な言いまわしは使用されていませんでした)
そこら辺に詳しい方からすると、
「A+B=CやD」だそうです。(もちろんA+B=Cとかっていうのは例です)

質問しておいて申し訳ないですが
現時点でほぼCPU等の知識はありません。

コンピュータ概論という科目で勉強中の身です。

テキストを読んでいて気になったところがあるので質問します。

「32ビットCPUでは汎用レジスタが32ビット長で8本だったのが、64ビット対応のCPUでは64ビット長で16本と4倍に増えています」

という文面についてなのですが

最後の4倍というところが引っかかっています。
正直現時点で知識がなさ過ぎるので詳しい事を説明されても、余計こんがらがってしまうだけなのですが

単純に数字だ...続きを読む

Aベストアンサー

>単純に数字だけ見て、32ビット長が64ビット長に、8本が16本にでそれぞれ2倍なので
>結果4倍という感じでしょうか?

それで特に問題無いと思いますけど……。

ただし、上記の文言が対象にしている「CPU」は、多分「x86系CPU」の、それも基本部分だけですね。
他の系統のCPUには当てはまらない場合もありますし、x86系CPUには上記以外にSIMD命令用の特殊レジスタもあるので、もしかしたらそれが「違う」とされた部分なのかもしれません。

参考) AMD64(x86系64bit)
http://ja.wikipedia.org/wiki/X64

レジスタの追加と拡張
汎用レジスタ (GPR) 数はIA-32の8本 (EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP) に更にR8~R15の8本を追加して16本に増やされ、各レジスタのビット幅も32ビットから64ビットに拡張された。IA-32は汎用レジスタが少ないことからコンパイラによる最適化に限界があり、これが最も大きな欠点とされた。AMD64に最適化されたアプリケーションでは、レジスタ本数の増加によって性能向上が見込まれ、特に深いループを持った演算主体のソフトウェアでその傾向が強いと見込まれる。さらに128ビットのXMMレジスタの本数も8本から16本に増やされた(Streaming SIMD命令で使われる)。

>単純に数字だけ見て、32ビット長が64ビット長に、8本が16本にでそれぞれ2倍なので
>結果4倍という感じでしょうか?

それで特に問題無いと思いますけど……。

ただし、上記の文言が対象にしている「CPU」は、多分「x86系CPU」の、それも基本部分だけですね。
他の系統のCPUには当てはまらない場合もありますし、x86系CPUには上記以外にSIMD命令用の特殊レジスタもあるので、もしかしたらそれが「違う」とされた部分なのかもしれません。

参考) AMD64(x86系64bit)
http://ja.wikipedia.org/wiki/X64

レジスタの追...続きを読む

Q64bitのCPUをもつマシンに32ビット用のOSをインストールするこ

64bitのCPUをもつマシンに32ビット用のOSをインストールすることは可能でしょうか?
具体的にはHP ProLiant ML150 G2にWindows 2003 Serverをインストールしようかと思っているのですが・・・

Aベストアンサー

(´-ω-`)んー…

ここ数年流行の CPU はまず間違いなく 64ビット仕様です。
それでも 32ビットOSが使われていると言うことをご存じですか?

結論
 なんら問題ありません。


その昔、16ビットパソコン全盛期に 32ビット CPUが作られパソコンに組み込まれました。
しかし OS やソフトは 16ビットのままでした。
32ビット CPUは 16ビット CPUよりもクロック周波数が高いことから
高速な 16ビットパソコンとして使われていた時期があったくらいです。

Q32ビットか64ビットか

このPCを買う予定です。
http://nttxstore.jp/_II_P813678778

OSは、http://technet.microsoft.com/ja-jp/evalcenter/cc442495のwindows7の評価版を入れようと思いますが、32ビットがいいか64ビットがいいか迷っています。

使用用途は、
1、メモリを4GB増設してグラボHD5770(http://www.amd.com/jp/products/desktop/graphics/ati-radeon-hd-5000/hd-5770/Pages/ati-radeon-hd-5770-overview.aspx)を付けてCounterStrikeOnline(http://cso.nexon.co.jp/beginner/index.aspx)とCS:S(http://www.cyberfront.co.jp/title/counterstrike_s/)というゲームをプレイします。
2、絵を描きます。SAI、Photoshopを使います。
3、使う機械です。
http://www.amazon.co.jp/gp/product/B002QC8LOM/ref=oss_product
http://www.amazon.co.jp/gp/product/B002QCAN9S/ref=oss_product
http://www.amazon.co.jp/gp/product/B002Q8GRG0/ref=oss_product
http://www.amazon.co.jp/gp/product/B000KC87OY/ref=oss_product
http://www.amazon.co.jp/gp/product/B0017U7U9Q/ref=oss_product


この場合、どちらがいいのでしょうか、宜しくお願いします。

このPCを買う予定です。
http://nttxstore.jp/_II_P813678778

OSは、http://technet.microsoft.com/ja-jp/evalcenter/cc442495のwindows7の評価版を入れようと思いますが、32ビットがいいか64ビットがいいか迷っています。

使用用途は、
1、メモリを4GB増設してグラボHD5770(http://www.amd.com/jp/products/desktop/graphics/ati-radeon-hd-5000/hd-5770/Pages/ati-radeon-hd-5770-overview.aspx)を付けてCounterStrikeOnline(http://cso.nexon.co.jp/beginner/index.aspx)とCS:S(http://www.cyberfront.c...続きを読む

Aベストアンサー

ゲームが古いので64bitだとどうなんでしょうね?
評価版は90日使えますからその間に32bitが良いのか64bitで問題ないのかインストールして調べるしかないでしょう。

QRGB色の明度と輝度は常に同じ範囲? 24bitなら0~255。他ビットでも両者は常に同じ?

RGB色、HSV色、HLS色何れでも、仕様では、明度と輝度は常に同じ範囲となるのでしょうか?
・24bitなら0~255
・他ビットでも両者の範囲は常に同じ?

例えば、 明度が0~63の場合、輝度が0~63以外のケースは有り得る?

Aベストアンサー

RGB表示での一般的な「明度」と「輝度」の定義は下記のようです。

・明度:RGBのそれぞれの数値のうち、最大値と最小値の平均をとったもの
・輝度:赤x0.3 + 緑x0.6 + 青x0.1

 つまり、ある色の「明るさ」を表わす指標として、「明度」「輝度」を、その要素となるR,G, B の数値からどう計算するかということです。「単純平均」か「重みづけ平均」かの違いです。
http://www.photolife14.com/blog/2015/1/9/bw

 この定義と、HSV色空間(HLS色空間)でいう「明度」(Value)の定義とは異なります。
HSV色空間での「明度」の定義は
  V = Max (R, G, B)
です。
 なお、HSV色空間では「輝度」は定義されていません。

↓HSV色空間。このサイトにある変換式でRGBと対応します。
https://ja.wikipedia.org/wiki/HSV%E8%89%B2%E7%A9%BA%E9%96%93

 定義のしかたが違うので、「0%」「100%」も含め、同じ数値が同じ「明るさ」にはなりません。
 ただし、RGBでの「明度」「輝度」、HSV色空間(HLS色空間)での「明度」とも、要するに「0 ~ 100%」をリニアに階調化したものなので、「範囲」としては同じでしょう。

 HSV色空間では、「色相」(Hue)の階調を「円の角度」に対応させて 0~360 に、「彩度」(Saturation)、「明度」(Value)の階調を 0~100% にしています。
 RGBでは、各色の比率を 0~100% で表わしますが、単にコンピュータ上で24ビット/3色というデジタル値に割り当てるため、1色あたり 0~255 の256階調(= 2の8乗)にしているに過ぎません。
 「0~100」か「0~255」かは、単なる「フルレンジの刻みの違い」だけです。

RGB表示での一般的な「明度」と「輝度」の定義は下記のようです。

・明度:RGBのそれぞれの数値のうち、最大値と最小値の平均をとったもの
・輝度:赤x0.3 + 緑x0.6 + 青x0.1

 つまり、ある色の「明るさ」を表わす指標として、「明度」「輝度」を、その要素となるR,G, B の数値からどう計算するかということです。「単純平均」か「重みづけ平均」かの違いです。
http://www.photolife14.com/blog/2015/1/9/bw

 この定義と、HSV色空間(HLS色空間)でいう「明度」(Value)の定義とは異なります。
HSV色空間での...続きを読む

Q32ビットor64ビット?

自分が使っているPCが32ビットなのか64ビットなのかを確認する方法を教えていただけますでしょうか?
OSはWinXPです。

Aベストアンサー

スタート → コントロールパネル → パフォーマンスとメンテナンス → システム
をクリックすると、搭載されているCPUを調べることが出来ます。
2005年に販売されたパソコンには、64ビットCPUなのに、32ビットO/Sになっているモデルが多数存在します。

Qビットデータの取得方法について

32    24 23  16 15    87    0
+--------+--------+--------+--------+
|11000111 |11000111 |11000000 |00000000 |
+--------+--------+--------+--------+

↑のようなビット情報から
24-34bitの1byteにデータa
22-23bitの2bitにデータb
16-21bitの6bitにデータc
14-15bitの2bitにデータd


がつめられている場合
データa,b,c,dを参照するためにCで

(1)シフト演算で参照する方法
(2)構造体のビットフィールドで参照する方法

をご教授いただけないでしょうか?

Aベストアンサー

このようなものをシフト演算でやる場合、基本は
(1) >> で必要な分ずらす
(2)必要なビットに対応する桁を1,他を0にした値と&を取って、必要なビットだけ残す
の組み合わせです。

データc→0~0x3fに変換したいなら
a. 16bitが最下位にくるようにずらしてから&で必要なビットだけにする
(data >> 16) & 0x3f
b. 16~21bitを残してから、16bitが最下位にくるようにずらす
(data & 0x003f0000) >> 16


ビットフィールドは環境依存であり、どの順番に書いたらどこのビットに該当するか等が一意に決まりません。

Q32ビット用のソフトを64ビットPCへ入れたら

32ビット用のソフトを64ビットのパソコンに入れても32ビットのパソコンと処理スピードは同じなんですか?

それとも、64ビットパソコンの方が処理スピードは速いですか?

Aベストアンサー

No.4です。

> いま、TVから録画した映画をBDに書きこんでいるんですが、(ソフトはPowerProducer)映画によっては午前から午後までかかるのがあるんです。

 それでしたら32ビットと64ビットの差ではなく「CPUのクロック数(MHz)をより高いものにする」、「メモリ量を大幅に増やす」のがポイントでしょう。

参考まで。

Q16ビットDLLから32ビットDLLをコールする方法

現在VC++で「16ビットDLLから32ビットDLLをコール」をしようと思って
調べていましたが、このご質問に頼るしか方法がなく、困っています。
状況
 VB4.0(16bit)・・・16bit版でEXEを作成
 VC++1.51・・・・・16bitDLLを作成
 VC++4.0/6.0・・・・32bitDLLを作成

 VB4.0(16bit)のEXEから、16bit版のDLLをコールし処理を行いたいの
 ですが、16bit版DLLで扱えないVC++の関数(プロセス関数:spawn??())
 を利用しなければならず、16bit版DLLの機能を32bit版DLLで作成し、
 16bit版DLLから32bit版DLLを呼び出そうと思っております。

誰か助けて! 是非、皆様のお知恵を拝借致したく思います。

Aベストアンサー

#1akinori_sです。
microsoftにサンプルがあったので参考にしてみて下さい。

参考URL:http://www.microsoft.com/japan/support/kb/articles/JP104/0/09.asp

QCPUの動作周波数と周辺デバイスの動作周波数について

CPUとローカルで繋ぐEthernetコントローラの動作周波数が25MHZします。
Ethernetコントローラのスペックは100baseなのですが
このコントローラの最大限のスペックを出すには
CPUはどのくらいの動作周波数のものを使う必要があるのでしょうか?
もし動作周波数以外にスペックに影響を及ぼす点があれば教えて頂きたいです。

Aベストアンサー

すみません、このカテに質問してるって技術者の方じゃないですよね?

CPUとEthernetコントローラのデータバス幅いくつなのでしょうか?
要するに、25MHzで動作するんじゃ「100Baseの125MHzの駆動動作に追いついてないじゃないか」と言う単純な話であれば・・・
データバス幅が32本だと25MHz×32=800Mbps
データバス幅が16本でも25MHz×16=400Mbps
データバス幅が 8本でも25MHz× 8=200Mbps
と、CPUとEthernetコントローラで、遅延が起こるとすれば・・・他のプログラムでのCPUの占有の度合いでしょうね
高負荷の他のプログラムが動作していれば、CPUとEthernetコントローラの通信タイミングは遅延する事はありますが・・・
それだけではなく、相手側、その途中経路なんかの状況によっては、応答待ちで速度自体を維持できません、大体こちらが通信速度を決める上でウェイトが大きいです

と、およその話ね^^;;;


人気Q&Aランキング