首页
社区
课程
招聘
C语言左移运算的问题
发表于: 2015-4-16 16:08 3134

C语言左移运算的问题

2015-4-16 16:08
3134
比如,E6  为11100110,左移应该为11001100,但是我在程序中,发现 E6<<1 ,没有舍弃最高位就直接变成了111001100,我的是win7 64位,请问下怎么让它可以舍弃最高位,让它只有8个bit

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
shl eax, 1;
shl al, 1;    这个是你要的
2015-4-16 16:16
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我说的是在C语言中,不是汇编
2015-4-16 16:20
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
再跟0x00FF & 一下不就行了
2015-4-16 16:49
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
E6<<1;
e6&FF;
2015-4-16 16:50
0
雪    币: 55
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
E6<<=1;
E6&=0xFF;

或者

E6=(E6<<1)&0XFF;
2015-4-16 17:12
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
非常感谢各位的解答,所以就给 了第一个人分
2015-4-16 17:39
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
E6  为int 类型的话  ,  00000000  00000000  00000000 11100110   
左移一位 应该是           00000000  00000000  00000001 11001100
2015-4-16 18:16
0
游客
登录 | 注册 方可回帖
返回
//