java学习(三) 数据类型转换,二进制原码,反码,补码

java 整数转二进制补码源代码 整数转二进制补码的源代码 提供了两种方法:一种调用java api中的方法。另一种是自己实现的。 立即下载

java学习(三)

  • 数据类型:实际上 Java 中的数据类 型就包括两大类,一类是基本数据类型,另一类是引用数据类型其中,基本数据类型又包括 4 类 8 种:

    • 整数型(不带小数的数字):byte,short,int,long ,分别占用字节1,2,4,8个字节

    • 浮点型(带小数的数字):float,double ,区别是占用内存大小不一样分别是4,8字节

    • 布尔型(真和假):boolean 占用1个字节

    • 字符型(文字,单个字符):char 占用2个字节

    String字符串是属于引用数据类型,java中除了基本数据类型外的都属于引用数据类型。(学面向对象时讲)

 

字符

  • java中字符型char用单引号''标识,只能放单个字符。

  • char + char,char + int——类型均提升为int,附值char变量后,输出字符编码表中对应的字符。 例如:char c4 = 98,打印出来就是a,因为97在字符编码表对应b

  • \是转义字符

    • \t 在java中是“制表符”,表示“tab”

    • \n是换行符

数据类型转换:一个数据在赋值给一个变量的时候存在三种不同 的情况,

  • 第一种情况是类型一致,不存在类型转换;

  • 第二种情况是小容量可以自动赋值给大容 量,称为自动类型转换;

  • 第三种情况是大容量不能直接赋值给小容量,大容量如果一定要赋值 给小容量的话,必须添加强制类型转换符进行强制类型转换操作。但是超出取值范围时,会导致精度损失 。ps:当一个整数没有超出byte,short,char的取值范围的时候,这个整数可以直接赋值给byte,short,char类型的变量。

  • 特殊情况“java 语言有这样一条规定,如果当一个整数型字面量没有超出 byte 类型取值范围时,可以直接赋值给 byte 类型变量,记住就行了。

二进制的原码,反码,补码

  • 一个正整数的原码,反码,补码完全一样

  • 对于一个负数来说,例如负1,对应二进制10000001【二进制首位是符号位0为正,1为负】

    • 反码:二进制原码符号位不变,其他位置取反,比如负1的反码就是 11111110

    • 补码:反码加1:11111111

手把手教你如何修改YOLO11的模型结构(以CBAM和可变性卷积为例) YOLO11修改模型结构 阅读详情

相关推荐

基于UWB技术的自动跟随避障系统设计研究

基于UWB技术的自动跟随避障系统设计研究 摘要:目前我国针对自动跟随避障系统方面的研究较少,同时国内自动跟随避障系统仍然处在未成熟阶段,多数仍停留在应用蓝牙控制或摄像头捕捉这类跟随方式,但这类方式在实际应用过程中往往会出现易受干扰,精度差,易受环境干扰等问题,这不仅会降低自动跟随避障系统的性能,同时也会对用户造成诸多困扰。因此,就需要结合目前较为有效的UWB技术,对自动跟随避障系统进行设计。基于此,本文首先将会针对UWB技术展开概述,而后对基于UWB技术的自动跟随避障系统组成展开分析,进而对基于UWB技术的

qq_43543515的博客 7991

java 读取换行_Java中的换行字符读取 - java

我想知道当我在记事本中打开文件时。我看到一条连续的行,没有回车/换行。我制作了一个Java程序来读取文件。当我使用\n或System.getProperty("line.separator");从文件中拆分数据时。我看到很多行。我在十六进制编辑器中发现该文件的换行符为'0A'(在UNIX中使用),并且在记事本中显示为矩形。好吧,我的问题是,如果它没有“ 0D”和“ OA”(在Windows中用于回...

weixin_39574868的博客 2328

【机器人】线性方程最小二乘解法对机械臂DH参数进行标定

1.前言 看了一篇文章,觉得里面的DH参数标定法讲的很清晰,便使用Matlab复现了一下,效果还可以,特写此文记录。 2.原理 2.1.误差最佳值的最小二乘计算 有研究结果表明:几乎95%的机器人位置误差都是由机器人内部运动学的不准确描述引起的,所以对DH模型参数进行标定是很有必要的。 DH参数物理含义:选自《机器人学、机器视觉与控制-Matlab基础》 当DH参数确定后,我们...

要恰饭得嘛 1万+

java中负整数转为二进制(补码表示)

今天刷题突然想到负数怎么转为二进制(补码)的问题 @Test public void toBinary(){ int a = -3; StringBuffer str = new StringBuffer(); for (int i = 0; i < 32; i++) { // 0x80000000 是一个首位为1,其余位数为0的整数 int t = (a...

sinat_40553837的博客 2439

【车辆仿真】从0开始建立dSPACE RT Simulink工程:CAN通信(RTICANMM方法)

【工程环境信息】:本文基于链接文章搭建SCALEXIO Rack RTPC总线节点,用于与AutoBox通信硬件:上位机:惠普台式PC(Windows 11专业版)下位机(实时机):AutoBox (DS1006)板卡:DS6342软件:本文所使用的DBC链接提示:以下是本篇文章正文内容,下面案例可供参考!!!的部分一定记得配置,其他的按需配置RTICANMM的灵活度非常高,尽可能参考Help文档,理解相应的配置内容官方有RTICANMM的样例工程,在下方路径。

winnizap的博客 2381

从点云到舱口尺寸:船甲板舱口检测的算法实现

本文提出了一种从船甲板激光扫描点云中自动检测舱口尺寸的算法。通过数据预处理(降采样、去噪、平面分割)后,采用甲板投影轮廓法将3D点云转换为2D图像,利用双次闭运算解决扫描碎片化问题,通过轮廓树检测内轮廓识别舱口。算法最终能稳定检测出三个主要舱口的长宽尺寸、面积和位置信息,矩形度超过0.89。该方法克服了扫描稀疏和围壁结构复杂的问题,参数可调性强,适用于工程实践。关键创新点在于将舱口识别转化为图像中的"洞"检测,而非直接处理3D几何特征。

点云兔子的博客 146

JAVA基本数据类型与byte互相转换(位运算,原码,补码)

最近整理了之前的一些知识,做了一个java中byte类型与int ,long转换以及将字节信息表示成字符串形式的工具。对前面的只是做了一下复习整理。 原码、反码、补码: 首先这三者都是二进制码即(0,1组合)。 原码:最高位为符号位,0表示正数,1表示负数,剩余部分表示真值。 反码:正数的反码是他本身,负数的反码是在原码基础上符号位不变,其余部分按位取反。 补码:反码基础上末位加1。 举个例子(以数值-8的单字节表示为例): 原码:1000 1000(红色为符号位,其余所有位组成数值) 反码

风继续吹 1799

升级conda时出现Malformed version string invalid chars错误解决方案

但有时,当你使用“conda upgrade”的命令时,你可能会遇到一个错误,提示你的环境解析失败,出现“Malformed version string invalid chars”错误消息。如果以上两个步骤都没有解决你的问题,那么你可以考虑更新conda的依赖项。如果你的conda版本已经是最新的,那么你需要清理conda的缓存。最后,如果以上方法都无法解决问题,你可以尝试使用pip进行更新。如果你的conda版本过旧,你需要先更新conda。首先,你需要确认你当前使用的conda版本。

BUG?不存在的! 1409

Java基础之——二进制正负数的原码、反码、补码之间的转化

前言 计算机都是使用二进制的补码进行计算。原码、反码、补码分正负数来讲,下面将分别进行讲解。 原码、反码、补码 整数 正数的二进制原码、反码、补码都是相同的 负数 负数的二进制原码 概念 先计算该负数绝对值的二进制。之后对其每个数“取反”,然后加一。 实例 比如-32 第一步:32(10)=00100000(2) 第二步:求反:11011111 第三步:加1:111...

我的博客 1708

RAGFlow 系列教程 第三课:后端服务入口与请求生命周期

本文深入解析RAGFlow v0.25.0后端核心机制,重点介绍了Quart框架选型原因和服务启动流程。RAGFlow选择Quart作为Web框架,主要基于其异步能力对LLM调用的支持、Flask生态兼容性以及长响应超时处理优势。文章详细拆解了服务启动的8个关键步骤,从日志初始化到HTTP服务启动,并分析了配置加载、数据库初始化等核心环节。通过源码分析揭示了RAGFlow如何实现动态API注册、双重认证体系等关键技术点,为深入理解该系统的请求处理生命周期提供了基础。

weixin_43674738的博客 188

开发Qt上位机获取阿里云IOT设备数据(开发上位机对接阿里云IOT平台)

使用Qt框架开发一款上位机软件,调用阿里云物联网平台的API接口,获取设备最新上传的实时数据,并在Qt设计的软件界面上展示处理。同时,还支持绘制曲线图表展示数据,并具备定时刷新功能。

2143

java 二进制(原码 反码 补码),位运算,移位运算,约瑟夫问题

一.二进制,位运算,移位运算 1.二进制 对于原码, 反码, 补码而言, 需要注意以下几点: (1).Java中没有无符号数, 换言之, Java中的数都是有符号的; (2).二进制的最高位是符号位, 0表示正数, 1表示负数; (3).正数的原码, 反码, 补码都一样; (4).负数的反码=它的原码符号位不变, 其他位取反; (5).负数的补码=它的反码

liuhaomatou的专栏 1万+

芒果YOLO11改进176:2025最新顶会论文|尺度动态损失函数Scale-based Dynamic Loss,即插即用|以减少标签不准确对损失函数稳定性的影响

芒果YOLO11改进186:2025最新顶会论文|尺度动态损失函数Scale-based Dynamic Loss,即插即用|以减少标签不准确对损失函数稳定性的影响

包括YOLOv5、YOLOv7、YOLOv8等模型改进 2131

什么是原码、反码和补码

在计算机当中都是使用补码来进行计算和存储的。补码很好的解决了反码负数不能跨零计算的弊端,并且补码还可以记录一个特殊的值-128,这个数据在1个字节下是没有原码和反码。学习了原码、反码和补码的知识之后,我们就可以了解到...

莪是男神的博客 10万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

二进制原码、反码、补码

文章目录1、有符号数和无符号数2、二进制的原码、反码、补码原码反码补码小结举个栗子:3、思考:java中为什么byte的取值范围是-128~1274、Java中的<< 和 >> 和 >>> 1、有符号数和无符号数 其实就是正数和负数,最高位(第一位)是符号位,正数符号位为“0” ,负数符号位为“1” 。如 1和-1表示为如下 0000 0001 1000 0001 2、二进制的原码、反码、补码 原码 原码就是机器数,是加了一位符号位的二进制数(因为数值有正负之分)

宜春 2万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Java——二进制原码、反码和补码

原码、反码和补码只是三种二进制不同的表示形式,每个二进制数都有这三个形式。

Stewie Lee的博客 9525

原码 反码 补码的相互转换

原码 反码 补码的相互转换 原码 反码 补码的转换 还是比较 简单基础的问题。之前学习java的时候就学过,后来忘记了,忘记了!!!,后来学了位移运算符,左移 右移 无符号右移 之后就由有点儿懵了。 原码,反码,补码 二进制中第一位是符号位,0表示正数,1表示负数。 以八位二进制数为例。 原码 十进制数正1的二进制原码 [+1]原 = 0000 0001 十进制数负1的二进制原码 [-1]原 ...

qq_41117240的博客 1万+

原码、反码、补码

1000 0000在原码中表示-0,那如果我们想要加1,会得到1000 0001这个结果,按理说我们应该得到的结果是1,但最终我们得到的结果是-1。以-1为基础在加1,我们应该得到0,但其实最终我们得到的是1000 0001 + 0000 0001 = 1000 0010,得到了-2。我们利用补码进行计算,-4 = 1000 0100(原码)-> 1111 1100(补码),令-4 加 5,1111 1100 + 0000 0101 = 0000 0001 = 1,会发现不会出现利用反码计算所出现的问题。

2301_76580356的博客 2795

原码、反码及补码

任何存储于计算机中的数据,其本质都是以二进制码存储。计算机的运算器只有加法运算器。所以在计算机中没办法直接做减法。 从硬件的角度来说正数+正数、负数+负数都是可以通过加法器直接相加,只有正数加负数才算是减法。原码、反码及补码的产生过程就是为了解决计算机做减法和引入符号位的问题。

KEEP CODING 5200

原码、反码和补码

在计算机当中都是使用补码来进行计算和存储的。补码很好的解决了反码负数不能跨零计算的弊端,并且补码还可以记录一个特殊的值 -128,这个数据在 1 个字节下是没有原码和反码。学习了原码、反码和补码的知识之后,我们就可以了解到,Java 当中所有的基本数据类型。比如整数类型的数据类型,存储的数都是同样的,区别是在于什么地方,假设存储的值都是 10基本数据类型值字节数内存中实际存储的值byte1010000 1010short102int104long108。

顺其自然~专栏 2219

二进制的原码、反码、补码

进制之间转换与位移运算欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Ma

qq826303461的博客 2411

二进制、八进制、十六进制转换及原码、反码、补码转换

二进制、八进制、十六进制转换及原码、反码、补码转换 二进制 如果说十进制是人类的计算度量单位,那么二进制就是机器识别的计算度量单位 ,十进制逢十进一,例如9+1=10,到10进位,各位数为0,十位数则加1为1,写出来则为10,在计算机中,有个概念叫位,一个byte是8位,我们下面讨论的都将以8位为准,例如1,在计算机中显示为0000 0001,那么计算机中1+1=2,则逢2进1就是0000 00...

qq_24286273的博客 4906

【Java】原码反码补码

原码:十进制数据的二进制表现形式,最左边是符号位,0为正,1为负。原码的弊端:利用原码进行计算的时候,如果是正数完全没有问题。但是如果是负数计算,结果就会出错,实际运算的方向跟正确的运算方向是相反的,这个时候就出现了反码。反码出现的目的:为了解决原码不能计算负数的问题而出现的。反码的计算规则:正数的反码不变,负数的反码在原码的基础上,符号位不变。数值取反,0变1,1变0。反码的弊端:负数运算的时候,如果不跨0,是没有任何问题的,但是如果结果跨0,跟实际结果会有1的偏差。这个时候就出现了最终的补码。

qq_39921135的博客 2121

Java基础1:注释以及数据类型 原码反码补码

这一块主要是关于在Idea中注释的书写,标识符以及关键字,数据类型和数据类型的转换,这些都是学习Java最最基础的一些知识!

qq_64004825的博客 1708

[Java教程]9.二进制,位运算,原码,反码,补码

Java教程专栏:https://blog.youkuaiyun.com/qq_41806966/category_9929686.html 这一篇将会了解一下计算机底层,二进制. 二进制 什么是二进制? 二进制是计算技术中广泛采用的一种数制 我们通常使用的都是十进制,也就是逢 10 进 1,那么二进制自然就是 逢 2 进 1. 十进制的每一位只能为 0,1,2...9, 二进制的每一位 只能是0 或1, 计算机底层计算使用的是二进制(没有学过二进制,数学比较差可能理解比较难) 也就是说,我...

砷碲 - Shendi 8242
上一篇: java学习(二) 标识符,字面量,变量
下一篇: java学习之win10运行java各种中文乱码
python_nice
博客等级 码龄8年 46粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值