定义的变量的位域就是4是什么意思?

如果你定义的变量的位域就是4的话,那确实变小了,但是如果位域不是4的话,那就是另一回事了,比如说下面的;unsignedcharc=0x80;c<<=1;这个得到的结果c... 如果你定义的变量的位域就是4的话,那确实变小了,但是如果位域不是4的话,那就是另一回事了,比如说下面的;
unsigned char c = 0x80;
c <<= 1;
这个得到的结果c = 0;
但是对于
unsigned int c = 0x80;
c <<= 1;
得到的结果确实256,而不是0,就是这个原因
展开
 我来答
鷹弈
2011-11-18 · TA获得超过5194个赞
知道大有可为答主
回答量:1257
采纳率:0%
帮助的人:617万
展开全部
指的是变量分配的字节数,int变量占4个字节,char占1个字节

所以,位域 = 字节(byte)

unsigned char c = 0x80;
占1个字节,也就是8位(bit)
c的二进制1000 0000,左移一位,即0000 0000 ,c的二进制为0000 0000 即十进制0

unsigned int c = 0x80;
占4个字节,也就是32位(bit)
c的二进制为00000000 00000000 00000000 10000000,左移一位
即00000000 00000000 00000001 00000000,即十进制256,c = 256
手机用户08798
2011-11-18
知道答主
回答量:4
采纳率:0%
帮助的人:3.3万
展开全部
很专业啊,不过楼上正解 就不复制啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wanjv250
2011-11-18 · TA获得超过192个赞
知道答主
回答量:369
采纳率:100%
帮助的人:154万
展开全部
定义的是byte有什么问题? 不管是byte还是int都一样的啊, 当然unsigned是不一样的 这个叫做 位段 或者位域(可百度百科查看此解释) 资料:针对类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式