问答详情
源自:2-8 自动类型转换

关于本节的三个疑问

①char类型数据转换为int类型数据遵循ASCII码中的对应值,这是啥意思?到底看谁的ASCII码?

   是看变量名的ASCII码?

  char c='a';            char c='a';

  int x;                     int b;

  x=c;                     b=c;

上面这两种写法都对吗?如果错了,是不是第二种,因为b的ASCII码比c的ASCII码小,那意思就是看变量的?   

②字节小的可以向字节大的自动转换,但字节大的不能向字节小的自动转换,如何判断字节大小呢?看ASCII码吗?

③ASCII码和字节有关系吗?如果有,是什么关系?

谢谢!!!


提问者:IceKing 2015-10-26 22:27

个回答

  • Perona
    2015-10-26 22:53:58
    已采纳

    1.看变量值的ASCII码,如本题就是看a的ASCII码。参考:http://www.imooc.com/wiki/view?pid=153

    2.这里说的字节小的可以向字节大的自动转换,但字节大的不能向字节小的自动转换,说的是数据转换。如,int型存储字节是2个字节。float型存储的字节是4个字节。那么int型的变量可以自动转换成float型,但是float型不能自动转换成int型,只能强转。字节知识点参考:http://www.imooc.com/code/5113

    3.ASCII码以一个字节来存储的,字节是存储信息的最基本单位。最小单位是比特,1字节等于8比特,字母表示是:

    1B=8b。


  • Perona
    2015-10-28 20:52:42

    #include <stdio.h>
    int main() {    
        char test = 's';    
        int  test1=test;
        printf("%c\n",test);    
        printf("%d\n",test1);    
        return 0;     
    }