我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

k哥



性别: 帅哥 状态: 该用户目前不在线
等级: 鹤立鸡群
家族: 物电学子快快快
发贴: 1109
威望: 0
浮云: 1109
在线等级:
注册时间: 2007-09-07
最后登陆: 2010-09-21

5come5帮你背单词 [ aircraft /'/əkra:ft/ n. 飞机,飞艇,航空器 ]


C中的小疑惑

今天在csdn上看到的一个程序
Copy code


#include "stdio.h"
int main()
{
  char a,b;
  a=124;
  b=a+a;
  printf("%x\n",a);
  printf("%x\n",a+a);
  printf("%x\n",b);
  return 0;
}

TC上运行的结果是:
                  7c
                                      f8
                                      fff8

为什么第二个可以显示f8,而第三个显示的却是fff8啊?
P.S:自己最怕这种类型的程序了,一看到就头痛
顶端 Posted: 2007-11-09 22:55 | [楼 主]
zhd32



性别: 帅哥 状态: 该用户目前不在线
等级: 版主
家族: YD一族
发贴: 619
威望: 0
浮云: 543
在线等级:
注册时间: 2006-04-22
最后登陆: 2009-06-22

5come5帮你背单词 [ reclaim /ri'kleim/ v. 要求收回,要求恢复,开垦,填筑 ]


GG可以看下这个贴子
http://192.168.2.8/bbs/read.php?tid=561269
顶端 Posted: 2007-11-09 23:04 | [1 楼]
zhd32



性别: 帅哥 状态: 该用户目前不在线
等级: 版主
家族: YD一族
发贴: 619
威望: 0
浮云: 543
在线等级:
注册时间: 2006-04-22
最后登陆: 2009-06-22

5come5帮你背单词 [ exempt /ig'zempt/ vt. 赦免,免除;a. 被豁免的,被免除的 ]


Quote:
引用第3楼liusum于2007-11-10 00:01发表的  :
char  只能表示-128 ~ 127  转 16位时 正数高位用0补 负用1补
a= 0111 1100
a+a = 1111 1000 =  248  = 0000 0000 1111 1000=f8
b=a + a = 1111 1000 = (-8)10
b= 1111 1111 1111 1000 = fff8
.......

是带符号数用1补,无符号数用0补哈
顶端 Posted: 2007-11-10 08:39 | [2 楼]
zhd32



性别: 帅哥 状态: 该用户目前不在线
等级: 版主
家族: YD一族
发贴: 619
威望: 0
浮云: 543
在线等级:
注册时间: 2006-04-22
最后登陆: 2009-06-22

5come5帮你背单词 [ volt /vəult/ n. 伏(特) ]


Quote:
引用第8楼zhoubaozhou于2007-11-11 13:41发表的  :


是不是printf 的 %x 将后面的作了扩展,扩展成一个字的

是传参的时候做了字长扩展的。。因为 printf 函数不知道第二个及其以后参数的类型和长度
顶端 Posted: 2007-11-11 14:19 | [3 楼]
zhd32



性别: 帅哥 状态: 该用户目前不在线
等级: 版主
家族: YD一族
发贴: 619
威望: 0
浮云: 543
在线等级:
注册时间: 2006-04-22
最后登陆: 2009-06-22

5come5帮你背单词 [ pat /pæt/ n. & v. 轻拍,轻打,抚摸 ]


Quote:
引用第11楼k哥于2007-11-13 13:53发表的  :

那为什么a+a的时候扩展是用0,而b扩展是用1呢

LZ看一下 movsx 和 movzx 的定义就清楚了
顶端 Posted: 2007-11-13 19:33 | [4 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.013282(s) query 6, Time now is:07-16 05:49, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号