C++标准有没有规定,当整数向右移位时,要不要扩展符号位?解决方法

C++标准有没有规定,当整数向右移位时,要不要扩展符号位?如题。[解决办法]有符号整数要扩展 无符号整数不扩

C++标准有没有规定,当整数向右移位时,要不要扩展符号位?
如题。

[解决办法]
有符号整数要扩展 无符号整数不扩展
[解决办法]

C/C++ code
int main(){     int i;    unsigned int j;    i = 0xffffffff;    j = 0xffffffff;    for(int k=1;k<32;k++)    cout<<(i>>k)<<endl;    cout<<"Next is j"<<endl;    for(int k=1;k<32;k++)        cout<<(j>>k)<<endl;}
[解决办法]
不同的编译器是不同的,可以查看帮助手册, 或运行测试代码检验.
[解决办法]
printf("%08x %08x\n",0xFFFF0000u>>8,(signed)0xFFFF0000>>8);//00ffff00 ffffff00
[解决办法]
有规定,
规定当左操作数为负的有符号数,其结果由实现定义.

也就是说不同编译器可能会不同.
[解决办法]
探讨
有规定,
规定当左操作数为负的有符号数,其结果由实现定义.

也就是说不同编译器可能会不同.