请选择 进入手机版 | 继续访问电脑版
补码怎么算(补码阵列计算)
穆一平 发表于:2022-1-5 23:58:49 复制链接 发表新帖
阅读数:24
一. 什么叫基础类型?
当创建变量时可以直接分配空间的类型即可成为基础类型, 值类型就是基本数据类型
二. 基础类型的分类

图片来源于网络
整型:byte, short, int, long
字符型:char
浮点型:float, double
布尔型:boolean
三. 每种基础类型的含义
  • 整型
    [/ol] Java中整型数据属于有符号数,即第一个bit位为0表示正整数,第一个bit位为1表示负整数。在计算机中负数由补码进行表示,那么补码如何计算呢?
    补码=源码取反   1;
    如:
    22,在计算机中的表示为00010110
    -22,取反:阿里朵宝宝11101001,加1:11101010
    在Java中,整数类型共有4种,它们有固定的表述范围和字段长度,且不受具体的操作系统的影响,保证了Java的跨平台性

    图片来源于网络
    2. 浮点型(我的理解就是数学中的小数,只是精度不一致)
    Java中浮点型数据无法由二进制直接表示,而是一种对于实数的近似数据表示法,它遵循IEEE 754标准

    图片来源于网络
    3. 字符型
    字符类型是用'单引号括起来的单个字符
    4. 布尔型(个人理解为真假类型,即非真即假)
    其中值得研究一下的是boolean,因为官方没有明确给出boolean长度,实际的长度是由相应的虚拟机来设计的。boolean表示是、否两种情况,只需要一位就可以表示。在jvm中基本类型分为:数值类型、boolean类型和returnAddress三种类型。

    基础类型长度和默认值总结图 - 图片来源于网络
    四, 引用类型
    哎嘿,刚刚第一张图里面除了基础数据类型还有个引用数据类型是什么?
    简单说下:引用类型,是指除了基本的变量类型之外的所有类型(如通过 class 定义的类型)。哈哈哈哈哈,这个说法会被打,下面仔细说下吧
  • 什么是引用?
    [/ol] 引用其实就像是一个对象的名字或者别名 (alias),一个对象在阿里朵宝宝内存中会请求一块空间来保存数据。访问对象的时候,我们不会直接是访问对象在内存中的数据,而是通过引用去访问。引用也是一种数据类型,指示了对象在内存中的地址,用图来解释一下

    图片来源于网络
    从图上可以看出,值类型中的abcd都是在栈这边的框框中的,而引阿里朵宝宝用类型中的abcd在栈框框内,但是有一根线指向了堆的框框内,引用提现出来了!!!引用这个能够用线去访问堆框框内的abcd变量!
    讲完引用类型重新回到基础类型了
    五. 基础类型的转换
    1. 基本数据类型中类型的自动提升

    图片来源于网络
    图中依次表示了各数值类型的字节数和相应的取值范围。在Java中,整数类型(byte/short/int/long)中,对于未声明数据类型的整形,其默认类型为int型。在浮点类型(float/double)中,对于未声明数据类型的浮点型,默认为double型。
    2. 隐式类型转换
    从存储范围小的类型到存储范围大的类型.
    byte -来源:https://aldbb.cn/zdmzt/219246.html
  • 返回列表 使用道具 举报
    #补码
    条评论
    您需要登录后才可以回帖 登录 | 立即注册
    高级