C++中右移和左移

本文详细介绍了计算机编程中常用的移位操作——左移位(<<)和右移位(>>)。左移位操作从右边用0补空位,而右移位对于无符号数从左边补0,对于有符号数则根据编译器决定补符号位还是补0(如gcc补符号位)。值得注意的是,当移位数目为负数或超出范围时,行为未定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于移位操作:

“<<” 左移位操作:从右边开始用0补空位
“>>”右移位操作:对于无符号数从左边开始补0;对于有符号数,或者补符号位,或者补0,由编译器决定(gcc的编译器是补符号位)

注意:移位的数目是负数或者移位出界时(最多只能移位类型二进制位大小-1),这个操作符的行为是未定义的,位操作只针对整数类型(int long等)或者char类型的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值