私はアセンブリ(MIPS用)を学んでいますが、私はすべてのメモリコールで32ビットワードが得られることを知っています。私はまた、Cでは32ビットを必要としないデータ型があることも知っています。例えば、charは8ビットのメモリとint 16ビットしか必要としません。だから私の質問は、メモリ内の32ビットを使用するCのcharですか?またはわずか8ビットですか?そして、CPUがメモリからロードする場合、それが8ビットであれば、それは32ビットワードを受け取ることはできませんか?私は、すべてが32ビットの単語としてメモリに保存されていると常に言われて以来、これについて少し混乱しています。Cはどのようにメモリに異なるデータ型を格納しますか?
一方の側では、8ビットブロックにcharを格納するのが理にかなっているため、領域を節約できます。
"私はアセンブリを学んでいます(MIPSのために)、私はすべてのメモリコールで32ビットワードが得られることを知っています。" - いいえ、そうではありません。 MIPSは8ビットでlbとsb、16ビットでlhとshを持ちます。 – immibis