关于C/C++的shift运算

本文详细解析了有符号数和无符号数在左移和右移操作中的不同表现。介绍了在GCC编译环境下,十六进制数在右移时被视为无符号数的特点,并通过实例说明了各种移位操作的具体效果。

1.有符号数和无符号数的左移结果一样,低位都是使用0补齐

2.有符号数和无符号数右移时,有符号数使用符号标示位进行补齐,而无符号数使用0补齐

    例如-1右移若干位之后依然是-1,而1右移若干位之后为0

3.对0xffffffff等十六进制数右移时,会将其默认为无符号数进行右移(gcc下)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值