C:获得前5位[关闭]

问题描述 投票:-1回答:1

让我说我有这个变量:

unsigned int a = 13428;

它的二进制值是:11010001110100

我想获得前5位(11010001110100)

我试着这样做:

a &= 11111; // because in left is always 0

我做错了什么?如果我在纸上做

11010001110100
&
00000000011111

它应该是00000000010100

c binary
1个回答
4
投票

11111只有十一万一千一十一。这是二进制的10101101100111

所以在二进制文件中你正在做11010001110100 & 10101101100111,它是二进制10000001100100

© www.soinside.com 2019 - 2024. All rights reserved.