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

k哥



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

5come5帮你背单词 [ digital /'did3əitl/ a. 数字的 ]


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 | [楼 主]
tj.g



年度之星奖 特殊贡献奖 社区建设奖
性别: 帅哥 状态: 该用户目前不在线
头衔: 明媚的忧伤。。
等级: 幕后精英
家族: 水族馆
发贴: 19483
威望: 13
浮云: 318
在线等级:
注册时间: 2005-10-01
最后登陆: 2022-10-12

5come5帮你背单词 [ clothing /'kləuðiŋ/ n. 衣服(总称) ]


溢出?
┌──╯─╮┌──┬─┐ ┐├─┬┐┌┬──┬╯┌────┐  ──┐ 
│    │   │  ┌╯│ ││││  │      │┌┐│ │ 
│┌──╮│   │  ││╯ │┘││ ╮│    ╭─╯│││ │ 
┌───┴┐└──┼─┘││┌ │┐││ ││    │  ││└──┐
     │   │  │││ ││││ ││    │  ││───│
└────╯└──╯─┘ ┘╰ ┘╯╯└╯└╰┘ ╰─┘  └╯└──╯
顶端 Posted: 2007-11-09 23:02 | [1 楼]
zhd32



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

5come5帮你背单词 [ gasp /ga:sp/ v. & n. 气喘 ]


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



性别: 帅哥 状态: 该用户目前不在线
头衔: Detect-Antivirus  E
等级: 前途无量
家族: 掌握文武半边天
发贴: 9922
威望: 0
浮云: 1365
在线等级:
注册时间: 2005-09-15
最后登陆: 2009-05-11

5come5帮你背单词 [ peak /pi:k/ n. 山顶,最高点,顶点;a. 最高的,高峰的 ]


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
楼主懂了没?
本帖最近评分记录:
  • 浮云:5(zhd32) 积极讨论
  • 一生一死 乃知交情
    一贫一富 乃知交态
    一贵一贱 交情乃见
    顶端 Posted: 2007-11-10 00:01 | [3 楼]
    zhd32



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

    5come5帮你背单词 [ conquer /'koŋkə/ n. 征服,占领,克服,改正(恶习等) ]


    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 | [4 楼]
    liusum



    性别: 帅哥 状态: 该用户目前不在线
    头衔: Detect-Antivirus  E
    等级: 前途无量
    家族: 掌握文武半边天
    发贴: 9922
    威望: 0
    浮云: 1365
    在线等级:
    注册时间: 2005-09-15
    最后登陆: 2009-05-11

    5come5帮你背单词 [ registration /red3əis'treiən/ n. 记录,登记,注册 ]


    Quote:
    引用第4楼zhd32于2007-11-10 08:39发表的  :

    是带符号数用1补,无符号数用0补哈

    我说的是符号数 char是带符号的~  带符号的正数也是用0 ~ 
    不带符号自然用0了~
    一生一死 乃知交情
    一贫一富 乃知交态
    一贵一贱 交情乃见
    顶端 Posted: 2007-11-10 12:12 | [5 楼]
    k哥



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

    5come5帮你背单词 [ ink // n. 墨水,油墨 ]


    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
    .......

    说的这么详细还不懂,就对不起你了
    呵呵。。
    签名
    顶端 Posted: 2007-11-10 22:47 | [6 楼]
    k哥



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

    5come5帮你背单词 [ due /dju:/ a. 预定的,应得的,应有的,充分的,到期的 ]


    还有个问题:
    char类型是占一个字节,为什么用了%X后显示2个字节呢?
    签名
    顶端 Posted: 2007-11-11 12:56 | [7 楼]
    zhoubaozhou





    性别: 帅哥 状态: 该用户目前不在线
    等级: 栋梁之材
    发贴: 696
    威望: 0
    浮云: 1082
    在线等级:
    注册时间: 2007-03-13
    最后登陆: 2023-01-26

    5come5帮你背单词 [ cable /'keibl/ n. 缆,电缆,电报;vt. 打电报 ]


    Quote:
    引用第7楼k哥于2007-11-11 12:56发表的  :
    还有个问题:
    char类型是占一个字节,为什么用了%X后显示2个字节呢?


    是不是printf 的 %x 将后面的作了扩展,扩展成一个字的
    hello,world
    顶端 Posted: 2007-11-11 13:41 | [8 楼]
    zhd32



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

    5come5帮你背单词 [ seam /si:m/ n. 接合线(缝);vt. 接合,缝合,焊合 ]


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


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

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





    性别: 帅哥 状态: 该用户目前不在线
    等级: 鹤立鸡群
    发贴: 1093
    威望: 0
    浮云: 1049
    在线等级:
    注册时间: 2005-10-08
    最后登陆: 2009-04-04

    5come5帮你背单词 [ prescribe /pris'kraib/ v. 处(方),开(药),命令,规定 ]


    学的时候真么注意这个东西
    顶端 Posted: 2007-11-11 21:54 | [10 楼]
    k哥



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

    5come5帮你背单词 [ comprehensive /kompri'hensiv/ a. 全面的,综合的 ]


    Quote:
    引用第9楼zhd32于2007-11-11 14:19发表的  :

    是传参的时候做了字长扩展的。。因为 printf 函数不知道第二个及其以后参数的类型和长度

    那为什么a+a的时候扩展是用0,而b扩展是用1呢
    签名
    顶端 Posted: 2007-11-13 13:53 | [11 楼]
    zhd32



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

    5come5帮你背单词 [ conquest /'koŋkwest/ n. 攻取,征服 ]


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

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

    LZ看一下 movsx 和 movzx 的定义就清楚了
    顶端 Posted: 2007-11-13 19:33 | [12 楼]
    不会游泳的鱼



    性别: 帅哥 状态: 该用户目前不在线
    等级: 栋梁之材
    发贴: 514
    威望: 0
    浮云: 1117
    在线等级:
    注册时间: 2007-08-29
    最后登陆: 2008-06-07

    5come5帮你背单词 [ neutral /'nju:trəl/ a. 中立的,中性的,公平的;n. 中立者,中立国 ]


    这个平时还真没注意,
    我是光棍我怕谁?
    顶端 Posted: 2007-11-16 18:33 | [13 楼]
    anywill



    性别: 帅哥 状态: 该用户目前不在线
    等级: 希望之光
    发贴: 1503
    威望: 0
    浮云: 0
    在线等级:
    注册时间: 2006-11-02
    最后登陆: 2024-10-24

    5come5帮你背单词 [ south /sauθ/ n. & a. 南方(的);ad. 向(自/在)南方 ]


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

    运行结果
    sizeof(a)=1
    sizeof(a+a)=2
    sizeof(b)=4
    毕设中。。。
    顶端 Posted: 2007-11-16 20:27 | [14 楼]
    我来我网·5come5 Forum » 程序员之家

    Total 0.009454(s) query 5, Time now is:11-25 14:35, Gzip enabled
    Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号