zoukankan      html  css  js  c++  java
  • Code

    Summary

    • 基础知识

    bit

    • 二进制数系统中,每个 0 或 1 就是一个位(bit),位是数据存储的最小单位。其中8bit就称为一个字节(Byte)。
    • 计算机中的CPU位数指的是CPU一次能处理的最大位数。例如32位计算机的CPU一次最多能处理32位数据。

    Byte

    • 在Java中是整数类型,占用 1byte 空间。
    • 取值范围是 27271,-128~127,这里显示的是十进制数。
    • byte b1=-128 // result = {Byte@18654} 前面是类型,后面是内存地址?

    char

    • Java 也以 UTF-16 作为内存的字符存储格式。
    • 一个 Java 的 char 类型表示一个 UTF-16 编码的代码单元,占用 2byte 空间。
    • 取值范围是 02161,0~65535,所以不能代表全部的中日韩(CJK)字符。
    • char c1 = 'A' result = {Character@18722}

    int(Integer)

    • 在Java中是整数类型,占用 4byte 空间。
    • 取值范围是 2312311,这里显示的是十进制数。
    Integer.toHexString(int)              // 10进制数转换成16进制字符
    Integer.toBinaryString((int) 'b')     // 10进制数转换成2进制字符
    Integer.toBinaryString(Integer.parseInt("fa", 16)) // 16进制转换成2进制
    
    
    // 一个 char 可以对应一个 Integer,可以相互转换
    int b = (int)'我'
    char a = (char)25105

    Integer:

    String

    String str = new String(c1)        // 将byte[*] 转换为字符串
    char[] chars = str1.toCharArray()  // 将 String 转换成 charArray

    疑问

    字符转换成byte数组,由于使用不同的编码方式,数组的大小不一样? 按照Java 的内存编码机制,这里不应该都是 2byte吗?

    'A'.getBytes()  // result = {byte[1]@18123}
    '我'.getBytes() // result = {byte[3]@18123}

    Reference

    https://baike.baidu.com/item/%E6%AF%94%E7%89%B9/3431582?fr=aladdin

    比特(BIT,binary system),计算机专业术语,是信息量单位,是由英文BIT音译而来,同时也是二进制数字中的位,信息量的度量单位,为信息量的最小单位。哈特莱(R.V.L Hartley, 1890-1970) 1928年认为对信息量选用对数单位进行度量最合适。

    Bit,是Binary digit(二进制数)位的缩写,是数学家John Wilder Tukey提议的术语(可能是1946年提出,但有资料称1943年就提出了)。这个术语第一次被正式使用,是在香农著名的《信息论》,即《通信的数学理论》(A Mathematical Theory of Communication)论文之第1页中。

  • 相关阅读:
    单例模式
    抽象类的作用和应用场景
    java内部类的作用
    java多线程
    IO流--与properties集合配合使用
    IO流--序列化流与反序列化流
    8 个必备的PHP功能开发
    CSS3 box-shadow:
    移动平台的meta标签-----神奇的功效
    Android Screen Monitor抓取真机屏幕
  • 原文地址:https://www.cnblogs.com/duchaoqun/p/13093905.html
Copyright © 2011-2022 走看看