设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
c语言问题
返回列表
发新帖
c语言问题
[复制链接]
11
|
3
|
2011-11-15 21:56:54
|
显示全部楼层
|
阅读模式
第一个i直接为43是因为c的值就是43无需转换而第二个赋给c的值是带单引号的‘\376’ 是八进制的表示形式,转换成二进制是11111110显然它在计算机中被表示成一个负数。因为负数的补码等于其绝对值的原码按位取反再加一,所以如果知道一个负数的补码,我们可以先减一再按位取反就得到了该数的绝对值。11111110 - 1 = 11111101按位取反后得
00000010,即十进制的2....
回复
使用道具
举报
千问
|
2011-11-15 21:56:54
|
显示全部楼层
C=43 因为43是正数,在机器内部数字都是以补码形式表示,正数的补码不变。C=\376(八进制) = 254(十进制)=1111 1110,1111 1110所对应的真值计算如下:同样的办法对数据位取反加1来求原码:1111110取反得0000001,再加1得,0000001+0000001=0000010;符号位不变,再把它放上就是100000...
回复
使用道具
举报
千问
|
2011-11-15 21:56:54
|
显示全部楼层
c='\376' c已经变成8进制数了...
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行