1. ホーム
  2. c

[解決済み] C言語のシフト演算子(<<, >>)は算術演算子ですか、論理演算子ですか?

2022-03-12 21:59:10

質問

C言語において、シフト演算子( << , >> ) 算術的か論理的か?

解答方法は?

によると K&R 第2版 の場合、符号付き値の右シフトの結果は実装に依存します。

ウィキペディア によると、C/C++は符号付き値の算術シフトを「通常」実装しているそうです。

基本的には、コンパイラをテストするか、コンパイラに依存しないかのどちらかが必要です。私のVS2008のヘルプによると、MS C++のコンパイラは算術演算を行うということです。