| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 426 人关注过本帖
标题:请教一下这道小题,谢谢
只看楼主 加入收藏
qcx0708
Rank: 2
等 级:论坛游民
帖 子:11
专家分:26
注 册:2009-8-11
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
请教一下这道小题,谢谢
unsigned int x=O15,y=OX2b;
 则 ~x+~y=________?

2009-10-08 23:57
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
程序代码:
#include<stdio.h>
int main(void)
{
    unsigned int x=015,y=0x2b;
   
    printf("%d\n",(~x+~y));
    return 0;
}

2009-10-09 00:08
qcx0708
Rank: 2
等 级:论坛游民
帖 子:11
专家分:26
注 册:2009-8-11
收藏
得分:0 
我想知道过程,比如说八进制15,是10进制13,换成二进制就是1101,那么取反之后就什么呢?是1111 1111 1111 0010 吗?好像上机结果不是这样啊
2009-10-09 00:24
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:10 
程序代码:
int main(void) 
{ 
 unsigned x=015,y=0x2b; 
 printf("x=%#o y=%#x\n",x,y); 
 printf("~x=%#x ~y=%#x\n",~x,~y); 
 printf("~x+~y=%#x ~x+~y=%u ~x+~y=%d\n\n",~x+~y,~x+~y,~x+~y); 
 return 0; 
}
运行代码显示结果:
x=015 y=0x2b
~x=0xfff2 ~y=0xffd4
~x+~y=0xffc6 ~x+~y=65478 ~x+~y=-58
·
过程:
x 0000 0000 0000 1101      ~x 1111 1111 1111 0010   
                            +
y 0000 0000 0010 1011      ~y 1111 1111 1101 0100
                           __________________________
                              1111 1111 1100 0110
~x+~y 无符号%u输出为:65478    %d输出为:-58
·
·
以上结果只对声明int整型为2字节的编译器而言。有些编译器int为4字节,结果则又不同。

努力—前进—变老—退休—入土
2009-10-09 03:40
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:0 
4楼正解

我可好玩啦...不信你玩玩^_^
2009-10-09 06:39
快速回复:请教一下这道小题,谢谢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036810 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved