9.28作业2

news/2024/9/28 0:37:10

枚举的类型及使用
枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。
可以使用“”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“”和equals()方法执行的结果是等价的。

以及枚举可用于Switch语句中
枚举类型是引用类型
在类型转换中从整型到浮点型存在精度损失
在计算机科学中,原码、反码和补码是表示有符号整数(即可以表示正数、负数和零)的三种不同方式。这些表示方法主要用于二进制系统中,特别是在计算机内部处理整数时。下面,我将逐一解释这些概念,并通过Java程序来验证Java中整数是如何表示的。

原码(Sign-Magnitude Representation)

原码是一种直接表示数值的方法,其中最高位用来表示符号(0为正,1为负),其余位表示数值本身。正数的原码:最高位为0,其余位表示该数的绝对值。负数的原码:最高位为1,其余位表示该数的绝对值。

反码(One’s Complement)

反码是一种用于简化二进制加减运算的表示方法。对于正数,反码与原码相同;对于负数,反码是原码除符号位外,其余各位取反(0变1,1变0)。

补码(Two’s Complement)

补码是目前计算机系统中最常用来表示有符号整数的方法。正数的补码与原码相同;负数的补码是其反码加1。补码的优点在于它简化了加减运算,并且只有一个零的表示(即0000...00),从而简化了计算机的算术逻辑单元(ALU)的设计。

Java中的整数表示

在Java中,整数类型(如byte、short、int、long)在内存中的存储采用的是补码表示法。这是因为补码表示法具有许多优点,如前面所述。

示例程序

为了验证Java中整数是采用补码表示的,我们可以编写一个简单的Java程序,通过位操作来观察正数和负数的表示。

java
public class IntegerRepresentation {
public static void main(String[] args) {
int positiveNumber = 5;
int negativeNumber = -5;

    // 打印正数的二进制表示(使用Integer.toBinaryString方法)System.out.println("Positive number: " + positiveNumber + ", Binary: " + Integer.toBinaryString(positiveNumber));// 打印负数的二进制表示(注意:直接打印的是补码表示)System.out.println("Negative number: " + negativeNumber + ", Binary (complement): " + Integer.toBinaryString(negativeNumber));// 验证负数的补码表示// 负数的原码(假设为8位,仅用于说明): 1000 0101// 负数的反码: 1111 1010// 负数的补码: 1111 1011// 注意:Java中的Integer是32位的,但这里为了简化,我们使用8位来说明// 通过位操作来验证补码int negativeNumberInBits = -5; // 在Java中,-5已经是以补码形式存储的int complement = ~negativeNumberInBits + 1; // 反码加1应得到其正数// 输出验证结果System.out.println("Complement + 1 of negative number: " + complement); // 应该输出5
}

}

在上面的程序中,我们首先打印了正数和负数的二进制表示(实际上,对于负数,直接打印的是其补码表示)。然后,我们通过对负数的补码进行取反加1操作来验证补码表示的正确性。根据补码的定义,取反加1应得到其正数表示。

通过运行这个程序,我们可以观察到Java中整数确实是采用补码来表示的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/65602.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

【基础岛第3关】浦语提示词工程实践

[to2024-09-25 18:32:11 星期三c] 案例描述 0、前期准备 创建开发机 0.1 环境配置创建虚拟环境并激活创建虚拟环境conda create -n langgpt python=3.10 -y conda activate langgpt 2. 安装必要的库 # 安装一些必要的库 conda install pytorch==2.1.2 torchvision==0.16.2 torc…

9月27日swing知识点

swing是一系列图形用户界面的控件的集合 Swing中GUI类分为三大类: 容器类 JFrame、JPanel、JScrollPane UI组件类 JLabel、JTextField、JTextArea、JButton JCheckBox、JRadioButton、JComboBox 帮助类 Color、Font、Dimension 这三者的依存关系为组件必须依存在顶层容器中,组…

软件工程结对作业

这个作业属于哪个课程 软件工程这个作业要求在哪里 结对作业要求这个作业的目标 设计一个软件的方案原型学号 102202109(我)012202239(朱佳杰)《构建之法》第三章与第八章读后感 第三章:软件工程师的成长 1.1 个人能力的衡量与发展 在《构建之法》第三章中,作者详细阐述了…

油猴脚本使用指南

油猴插件介绍 官方介绍:篡改猴 (Tampermonkey) 是拥有 超过 1000 万用户 的最流行的浏览器扩展之一。 它适用于 Chrome、Microsoft Edge、Safari、Opera Next 和 Firefox。 有些人也会把篡改猴(Tampermonkey)称作油猴(Greasemonkey),尽管后者只是一款仅适用于 Firefox 浏览器…

一些常用的技巧分享

0. 前言 最近很多uu们过来问鼠鼠一些 c语言/python 的问题,遂决定开一个答疑帖,方便大家学习交流。但是呢既然开了帖,也就不只讲有疑问的地方,顺便把常见的一些问题都给大家过一遍。又考虑到很多uu跟鼠鼠一样是电脑小白,也顺带分享一些电子产品、生活小知识。 鼠鼠水平有限…

2024-9-27

标签 标签段落,换行与水平线 段落换行水平线实操

动手动脑(运行EnumTest.java)

运行出来的结果为:枚举法: enum Color { RED, GREEN, BLUE } 如果枚举不添加任何方法,枚举值默认为从0开始的有序数值。以 Color 枚举类型举例,它的枚举常量依次为 RED:0,GREEN:1,BLUE:2。 枚举的好处:可以将常量组织起来,统一进行管理。 枚举类型的本质 尽管 enum …