C语言里面无符号数怎么理解

 我来答
豆豆爱上天使
2010-05-27 · TA获得超过365个赞
知道答主
回答量:54
采纳率:0%
帮助的人:68.6万
展开全部
你可以把它理解为非负数,一般情况情况下的数有正数和负数之分的,就是所谓的有符号,而无符号数,只有正数,就像绝对值一样,例如正常情况下,int 类型的数占用两个字节的内存,也就是16位,也就是所有的数中,有2的8次方个是负数,0占一个,2的7次方减1个是正数;但是在无符号的情况下,2的16次方个数,全部都是非负数,这样说应该明白了吧!~~
百度网友3971f5c
2010-05-27 · 超过31用户采纳过TA的回答
知道答主
回答量:161
采纳率:0%
帮助的人:0
展开全部
是不是 unsign int a;?
可以这样来理解 b=-1;
a=b
a=二进制(11111111)=255
及把最左边的符号位也变为数值中了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
迷惘中的东王
2010-05-27 · TA获得超过1114个赞
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:273万
展开全部
就是没有正负号,在以2进制储存时第一位不需要表示符号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
追月也幸福
推荐于2016-03-02 · TA获得超过504个赞
知道小有建树答主
回答量:118
采纳率:0%
帮助的人:122万
展开全部
在c语言中,数值是以补码表示的:
正数的补码和原码相同;
负数的补码:将该数的绝对值的二进制形式按位取反再加1。

例如:
求-10的补码:
10的原码:
0000 0000 0000 1010
取反:
1111 1111 1111 0101
再加1,得-10的补码:
1111 1111 1111 0110

左面的第一位是表示符号的,正数为0,负数为1。

无符号型又可与三种类型匹配而构成:
无符号基本型:类型说明符为unsigned int或unsigned。
无符号短整型:类型说明符为unsigned short。
无符号长整型:类型说明符为unsigned long。

各种无符号类型量所占的内存空间字节数与相应的有符号类型量相同。但由于省去了符号位,故不能表示负数。
有符号整型变量int:最大表示32767
0111 1111 1111 1111
无符号整型变量unsigned:最大表示65535
1111 1111 1111 1111
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式