最終的に C++ でコード化するものをシミュレートするのに役立つ Matlab ルーチンを作成しています。1 つの問題は、Matlab と C++ の int が、コンテナーが保持できるよりも大きな結果を生成する算術演算を実行するときに異なる動作をすることです。
たとえば、Matlabintmax('uint16')
では が生成され65535
ます。そしてintmax('uint16')+1
まだ生産してい65535
ます。65535 より高くしたい場合は、できません。Matlab は単にキャップをかぶせます。
C++ は異なります。書き込みは加算を完全に実行し、最下位 16 ビットを単純に保持するためunsigned short x = 65535; cout << ++x;
生成されます。0
Matlab を同じように動作させる方法はありますか?