| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1519 人关注过本帖
标题:问个取反位运算符的问题,谢谢
只看楼主 加入收藏
gylin_1982
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-8-20
收藏
 问题点数:0 回复次数:8 
问个取反位运算符的问题,谢谢

unsigned short a = 10;
cout<<sizeof(a)<<endl; //输出2
cout<<sizeof(~a)<<endl; //输出4 (为什么???????)

是不是~a自己转换为int类型 (32位机器)
搜索更多相关主题的帖子: 运算符 
2007-09-17 20:22
yuyunliuhen
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1435
专家分:0
注 册:2005-12-12
收藏
得分:0 
是的 ,用这个测试一下就知道了

#include<iostream>
using namespace std;
int main()
{
unsigned short int a = 10;
cout<<sizeof(a)<<endl; //输出2
cout<<sizeof(~a)<<endl; //输出4
cout<<typeid(a).name()<<endl; //unsigned short
cout<<typeid(~a).name()<<endl; //int

return 0;
}

Go confidently in the  directions of your dreams,live the life you have imagined!Just do it!
It is no use learning without thinking!
2007-09-17 20:49
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
还真不知道这个,呵呵,顺便问下

~作用在变量上都是这个效果?还有其他什么转变?
谢谢!

[此贴子已经被作者于2007-9-17 21:07:03编辑过]


Fight  to win  or  die...
2007-09-17 21:06
gylin_1982
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-8-20
收藏
得分:0 
回复:(yuyunliuhen)是的 ,用这个测试一下就知道了...
好的谢谢,好多保留字都没用过
有没有介绍这些保留字用法的文档??
2007-09-18 14:16
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
short 参与任何运算均会先转化为int



by 雨中飞燕 QQ:78803110 QQ讨论群:5305909

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/
2007-09-18 14:18
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
收藏
得分:0 
用DEV-c++测试2楼程序,怎么输出:2
4
t
i

为什么是这样结果?请高手解释下,谢谢!
2007-09-18 17:34
yuyunliuhen
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1435
专家分:0
注 册:2005-12-12
收藏
得分:0 
DEV C++是个例外,她对typeid支持的不是很好

Go confidently in the  directions of your dreams,live the life you have imagined!Just do it!
It is no use learning without thinking!
2007-09-20 23:38
野比
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:1627
专家分:516
注 册:2007-5-24
收藏
得分:0 
是这样的,取反的操作是按双字进行的(32位机),因此
比如a=1,
a = 0x0001
取反,先补足a的高位
a = 0x0000 0001
~a = 0xffff ffff (双字,32位,4 bytes)

女侠,约吗?
2007-09-22 12:22
风致
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2007-9-22
收藏
得分:0 

BCB和VC都运行不了啊!找不到typeifo,呵呵!

2007-09-23 12:29
快速回复:问个取反位运算符的问题,谢谢
数据加载中...
 
   



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

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