数据类型扩展及面试题讲解

进制

整数拓展

  • 二进制以0b开头

  • 十进制

  • 八进制以0开头

  • 十六进制以0x开头,0-9,A~F

进制转换(8421法)

  • 二进制转十进制:牢记2的各方次值,例1100B=0x2^0 + 0x2^1 + 1x2^2 + 1x2^3=12
  • 十进制转二进制:分解十进制数为2的各方次相加,例46=1x2^2 + 1x2^3 + 1x2^5=101100B
  • 二进制转八进制:将二进制数以每三个数为一组分开,例100110B=100|110=0x2^0 + 0x2^1 + 1x2^2| 0x2^0 + 1x2^1 + 1x2^2=4|6=64O(Q)
  • 八进制转二进制:例176O=001|111|110=1111110B
  • 二进制转十六进制:将二进制数以每四个数为一组分开,例1111011010B=0011|1101|1010=3|13|10=3DA,十六进制中A代表10,之后依次
  • 十六进制转二进制:例4BC=0100|1011|1100=10010111100B

浮点数拓展(例银行业务),用BigDecimal,为数学工具类

  • float字长有限、离散,会舍入误差,结果位一个大约的数,即接近但不等于
  • 特别注意,最好完全避免使用浮点数进行比较,转而用类

image

image

字符拓展(字符的本质是数字)

  • Unicode编码,例汉字”中“对应编码为20013,c3为更底层的方式

image

image

  • 转义字符等

image

image

  • 布尔值扩展

    if(flag==true){}
    if(flag){}//两行代码等价
    
posted @ 2022-01-26 00:04  大白很白  阅读(145)  评论(0)    收藏  举报