C语言程序,求解,为什么
3个回答
展开全部
所有的数据在计算机内部都是以二进制形式存放的,我以一个字节,即8位二进制数来举例:
比如
a=2 a的二进制形式是 0000 0010
b=-1 所有负数在内存中都是以补码形式存放,b的二进制形式: 1111 1111 即全11
你给的数据 c2='\375'; \后的数据是八进制数,转换后成二进制位:011 111 110
取后8位是 1111 1110
转换成十进制数就是-3
比如
a=2 a的二进制形式是 0000 0010
b=-1 所有负数在内存中都是以补码形式存放,b的二进制形式: 1111 1111 即全11
你给的数据 c2='\375'; \后的数据是八进制数,转换后成二进制位:011 111 110
取后8位是 1111 1110
转换成十进制数就是-3
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
'\375'是八进制数253,由于这是一个字符,只有一个字节,所以最高位是1,故为负数 -3
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询