符号数与非符号数的小小区别
unsigned int a=0x80000000;
if(a>>32==0x0001)
std::cout<<"无符号数移位不带符号"<<std::endl;
else
std::cout<<"我错了"<<std::endl;
signed int b= 0x80000000;
if(a>>32==0xffffffff)
std::cout<<"符号数移位带符号"<<std::endl;
else
std::cout<<"我错了"<<std::endl;
本文通过示例代码展示了符号数与非符号数在进行位移操作时的区别。通过对unsigned int与signed int类型变量0x80000000进行右移32位的操作,说明了不同数据类型在位移过程中是否携带符号位的特点。
1万+

被折叠的 条评论
为什么被折叠?



