• java


    基本数据类型

    引用数据类型

    同种之间才能转化。

    两者之间不能直接转化,需要通过封装类。

    byte b = 1;

    int a = b;

    int a  = 1;

    byte b = (byte)a;

    因为byte只有8位,int有32位(short是16位),大转小需要强转。

    int a =  1000;

    byte b = (byte)a;

    可以编译,但是值会变化。只留后8位的值

    补充内容(源码,反码,补码)

    正数反码,补码和源码一致,负数反码为保持符号位不变的情况下其他位取反,补码为反码+1;

    计算机中数字以补码形式存储。

    补码转化为源码需要-1,然后取反,或者取反然后+1 (保留符号位不变)

    例如 6 和 -6

                                 6                                                                                     -6

    源码 00000000 00000000 00000000 00000110        10000000 00000000 00000000 00000110 

    反码 00000000 00000000 00000000 00000110        11111111 11111111 11111111 11111001

    补码 00000000 00000000 00000000 00000110        11111111 11111111 11111111 11111010

    int 1000 =  00000000 00000000 00000011 11101000

    转为byte后补码变为

    11101000 = -24

    11101000是补码,

    负数补码为反码+1,所以11101000的反码为补码-1 =  11100111

    负数源码为反码保留符号位取反 ,所以11101000的源码为 10011000 = -24;

    int a = 1;

    long b = 1L;

    byte c = a;

    byte c = b;

    浮点和整数转换比较的是精确程度,整数可以存入浮点。

    float c = 1.0F;

    int a = (int)c;

    long b = (long)c;

    直接把小数点后砍掉。

    char和int可以直接转化,asc码

    char c = 'a';

    int a = c;

    a = 97;

    整数转char需要强制转换。

  • 相关阅读:
    poj 3255
    (DP) bzoj 2091
    (最短路) bzoj 2118
    (点双联通分量) poj 2942
    (树直径) bzoj 1509
    (离线处理+BFS) poi Tales of seafaring
    (并查集+DFS) poi guilds
    (记忆话搜索)POI Fibonacci Representation
    (DP) POI Bytecomputer
    (DP) bzoj 1296
  • 原文地址:https://www.cnblogs.com/clamp7724/p/11561927.html
Copyright © 2020-2023  润新知