幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2345|回复: 4

[通用编程] 位移问题

[复制链接]

313

主题

1574

帖子

1万

积分

⑧专业

*永恒国度*

积分
14145
QQ
发表于 2007-9-11 16:55:38 | 显示全部楼层 |阅读模式
#include<stdio.h>
void main()
{
    unsigned  a,b,c;
    int n;
    scanf("%x,%D",&a,&n);
    b=a<<(16-n);
    c=a>>n;
    c=c|b;
    printf("a=%x\nc=%x",a,c);
}
为什么在TC中输出答案是
a=f2d3
c=7e5a
在VC++中输出的是
a=f2d3
c=1e5a7e5a[s:3][s:3][s:3][s:3][s:3]
[img][/img] http://shop33698673.taobao.com被别人嫉妒,证明你优秀,嫉妒别人说明你无能
回复

使用道具 举报

19

主题

842

帖子

1万

积分

⑧专业

絕望青年,一起增高吧

积分
13676
发表于 2007-9-11 18:17:46 | 显示全部楼层
unsigned  a,b,c;
LZ這兒說明了a,b,c是啥data type沒有。。。沒說明的話,compiler會用不同的方法次理
遝有,n是多少。。。。

為著彼岸,便要與之妥協 但為著彼岸,更不能與之妥協

回复 支持 反对

使用道具 举报

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
发表于 2007-9-11 19:05:26 | 显示全部楼层
有的编译器把单独的unsigned认作 unsigned int,有的不是。
え~え~お!!!
回复 支持 反对

使用道具 举报

23

主题

218

帖子

2470

积分

⑥精研

积分
2470
发表于 2007-9-11 20:52:48 | 显示全部楼层
TC是16位的,所以unsigned int最大是0xFFFF,VC是32位的,unsigned int最大是0xFFFFFFFF
ONScripter for PSP/Windows中文版 http://blog.163.com/john_he_
回复 支持 反对

使用道具 举报

19

主题

842

帖子

1万

积分

⑧专业

絕望青年,一起增高吧

积分
13676
发表于 2007-9-11 21:27:56 | 显示全部楼层
john正解吧。。。
所以某多數會寫明是short還是long

為著彼岸,便要與之妥協 但為著彼岸,更不能與之妥協

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-5-2 14:50 , Processed in 0.028128 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表