C语言中0xFFFF表示什么

 我来答
么么哒哒哒Ay
2020-01-28 · TA获得超过3.1万个赞
知道大有可为答主
回答量:1.2万
采纳率:26%
帮助的人:628万
展开全部
0XFFFF如果代表一个unsigned
int
数据
那么它的值就是
4
294
967
295也就是
无符号整型所能表示的最大值。
0XFFFF如果代表一个signed
int
数据
那么它的最左边的一位是1,即它必定是一
个负数。这个值是-1。
0X
FFFF如果是一个有符号的数字,因为它的最高位是1,所以这个数是个负数。简单的
在内存中的存储形式为
1111
1111
1111
1111
1111
1111
1111
1111,这个是补码。
根据规则将上面的数减去二进制的1,即减去0000
0000
0000
0000
0000
0000
0000
0001,得到
1111
1111
1111
1111
1111
1111
1111
1110,然后按为取反,得到0000
0000
0000
0000
0000
0000
0000
0001,这就是原码,即数字的二进制表示方式,这个数字就是-1了。

扩展资料
C语言中0xFFFF的计算规则及注意事项:
1、C语言里的数据在内存中的表示,数据会因为读取的方式不同而导致读取出来的结果不同。同样的数据如果按照int和char来读,结果是不同的,如果按照有符号和无符号来读,结果也可能不同。
2、C语言的数据在内存中用二进制来表示,由于无符号的数据不用腾出最左边的一位来表示正负,
正是由于多出来这一位,我们知道这相当于二进制中的把数据左移一位,扩大二倍。所以无符号
的数据能存储的数值范围要比有符号数大一倍。
3、虽然C语言把数据使用二进制在内存中表示,但是还有一点:计算机是用补码来存储数据的。
即一个数将其转换成为二进制之后还要再转换成补码,才是最终在内存中的样子。
Aq01sr1
2017-05-07 · 超过25用户采纳过TA的回答
知道答主
回答量:76
采纳率:0%
帮助的人:23.1万
展开全部
C语言中以0xFFFF表示该数的后十六位全是1,若该数类型为short型,则其表示的是-1,若为int型数,则表示65535。
以0x开头的数字表示十六进制数,由0~9及a~f(包括大写A~F,大写与小写对应)这十六个字符来表达,其中a~f对应表达10~15。
相应的八进制以0开头接0~7的数字表达。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xuzhouliuying
高粉答主

2017-05-07 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:5.4万
采纳率:86%
帮助的人:2.5亿
展开全部
0x表示十六进制数。
0xFFFF是十六进制数FFFF,转成十进制是65535
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式