c++如何定义变量能拥有三个变量的功能
答案:3 悬赏:20
解决时间 2021-12-30 21:30
- 提问者网友:但未伤到心
- 2021-12-30 11:42
就是用>>,<<这个方法怎么实现啊 求解释啊,谢谢
最佳答案
- 二级知识专家网友:野心和家
- 2021-12-30 12:03
这个功能叫做位操作,比如
short a=0;//这里要注意,short可能长于16位,不过对于非负数,高位都是补0的,把它初始化为0
a |= 1 << 15;//这里的1是int型,可以强制转换,不过同short,高位补0,所以无所谓,|=是按位或操作然后赋值给左边的变量,分开就是:short temp = 1<<15; a=a|temp;temp是临时变量
a |= 0xFF << 7;//假设学号2进制为11111111,也就是16进制FF,c语言用0x表示16进制
a |= 0x20;//最后7位不用移,假设年龄为32,还是用16进制表示
注意,16进制不是必须的,也可以用10进制整数,不过写成16进制有个好处就是可以发现越位操作。
最后,打个广告,欢迎来我空间提问。希望能帮到你
short a=0;//这里要注意,short可能长于16位,不过对于非负数,高位都是补0的,把它初始化为0
a |= 1 << 15;//这里的1是int型,可以强制转换,不过同short,高位补0,所以无所谓,|=是按位或操作然后赋值给左边的变量,分开就是:short temp = 1<<15; a=a|temp;temp是临时变量
a |= 0xFF << 7;//假设学号2进制为11111111,也就是16进制FF,c语言用0x表示16进制
a |= 0x20;//最后7位不用移,假设年龄为32,还是用16进制表示
注意,16进制不是必须的,也可以用10进制整数,不过写成16进制有个好处就是可以发现越位操作。
最后,打个广告,欢迎来我空间提问。希望能帮到你
全部回答
- 1楼网友:承载所有颓废
- 2021-12-30 12:29
你好,你的程序是有问题的,int是整型的,你用它作为返回值,显然只有一个值的,不会出现三个返回值的。
- 2楼网友:废途浑身病态
- 2021-12-30 12:15
运算符的重载不能异于原操作符的本意,就是说,重定向运算符<<和>>只能使用两个参数,且是固定的,比如<<,只能有两个参数,且第一个是ostream的引用,第二个是所属类的对象的引用,不可能再有其他选择,还有这个函数一定是友元。
回到主题,什么叫做“如何定义变量能拥有三个变量的功能”呢?,是“如何定义操作符能拥有三个变量的功能”?
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯