java:int强制类型转换成byte

article/2025/10/9 0:59:58

注:非常感谢评论的最佳戏子大佬指出了我的不足,已经进行修改

int强制类型转换成byte

  • 一、基础知识
  • 二、int->byte
      • 方法一
      • 方法二

一、基础知识

int 在java中是32位, byte是8位

  • 原码:就是二进制码,最高位为符号位,0表示正数,1表示负数,剩余部分表示真值

  • 反码:在原码的基础上,正数反码就是他本身,负数除符号位之外全部按位取反

  • 补码:正数的补码就是自己本身, 负数的补码是在自身反码的基础上加1

二、int->byte

int类型转化为byte类型时会出现位丢失情况,即将int的低8位作为byte类型的值

举例:

byte b=178;

这样对b变量初始化是错误的,因为byte是1个字节,而一个字节的范围是 { -128,+127 },显然178超过了127
正确的做法是进行强制类型转换:

byte b=(byte)178;

此时b的值变成了-78,为什么呢?

首先,Java中变量,或者说计算机底层是以补码保存,int类型178强转byte流程应该是这样:
int类型178二进制表示:
原码/补码/反码:0(符号位)000,0000,0000,0000,0000,0000,1011,0010
转为byte类型后,因精度丢失,补码表示为1(符号位)011,0010

此处求原码有两种方式:

方法一

按照原码求补码的方式反推,如下所示:

补码:1(符号位)011,0010
反码:1(符号位)011,0001
原码:1(符号位)100,1110

方法二

如图示,对整数的补码再求一次补码即为整数原码;
二进制数1001110转换为十进制是78,符号位1表示负数,结果即为-78

补码始终是二进制的一种表现形式,是二进制数据在内存中的存储形式。我们习惯表达的十进制,在这里是通过原码进行进制转换得到的,只有原码是十进制数转换成的二进制序列。
在这里插入图片描述


http://chatgpt.dhexx.cn/article/QxYb1uI7.shtml

相关文章

C#初级编程

Unity学习笔记——C#初级编程 一、Awake 和 Start二、Update 和 FixedUpdate三、启用和禁用组件四、SetActive、Active Self、Active in Hierarchy五、位置和旋转六、transform.lookAt(Transform target)七、线性插值八、Destroy九、GetButton 和 GetKey十、GetAxis十一、GetCo…

零基础怎样自学编程?新手如何学习编程?编程学习入门指南

对于编程,很多新手的第一感觉可能就是: 高深,难学。 学好编程,有的时候,可以把一些需要我们重复劳动的工作,自动化批量处理,为我们节省很多时间和精力。 对于一些学得比较深入的朋友来说&…

新手学计算机编程怎么入门 从哪学起

近些年有一种职业发展很快、人才需求量大、工资高,那就是程序员。他们的基本工作就是电脑编程,开发者各种各样的软件、APP,被很多人膜拜。如果你想成为一名程序员,有必要了解一下这些基本的电脑编程入门教程。 1计算机编程怎么入门…

代码编程教学入门

前言 代码编程是我们在现代能获得的最宝贵的技能之一,学会写代码不仅让我们在职业前景上更得心应手,而且还能让我们的大脑保持活跃和创造性,甚至我们还有机会创造出一些 awesome 的东西出来。 如果我们才刚刚开始(或准备开始&am…

20道经典C语言编程题(初级)

编者按:以下20道题目为自己练习所写的代码,均已提交检测通过,其中有些题也许有更优的解法,所以写的不好望读者包涵,由于个人练习,所以没有写注释,有什么问题的地方,可以留言一起交流…

沈师 PTA 数据库题目及部分解析 第四章

判断题 1.在数据库安全性控制中,所有授予出去的权力在必要时都可以用REVOKE语句收回。 T 2.用户可以“自主”地决定将数据的存取权限授予何人、决定是否也将“授权”的权限授予别人,因此称这样的存取控制是自主存取控制。 T 3.数据库的安全性是指保护数据…

编程题目+数据库题目总结(3)

目录 编程题1.字典中保存了一些股票代码(键)及价格(值),用一行代码找出价格最高的股票,输出股票代码。(5分)2.字典中保存了一些股票代码(键)及价格(值&#x…

沈师 PTA 数据库题目及部分解析 第一章

判断题: 1.一个数据库只有一个模式和一个内模式。 T 2.数据模型是由数据结构、数据操作和完整性约束三部分组成的 T 3.由于数据库中的数据是不断更新的,因此关系模式是相对变化的。 F 解析:关系模式不会相对变化,变化的是实例 4.数…

【数据库题目复习】期末试卷 一、二

文章目录 试题一一、选择题二、填空题三、简答题四、设计题五、综合题 试题二一、选择题二、填空题三、简答题四、设计题五、综合题 试题一 一、选择题 1. 数据库系统的核心是( B ) A.数据库 B.数据库管理系统 C&#xf…

【数据库题目复习】第7章 数据库设计

文章目录 一、选择题:二、填空三、应用 参考文章:https://blog.csdn.net/qq_46139801/article/details/117453449 知识点: (1)各子系统的E-R图之间的冲突主要有三类: 属性冲突、命名冲突和结构冲突。 &…

【力扣刷题总结】数据库题目按知识点分类总结

观前提示: 这个图先自行背诵至滚瓜烂熟。 文档中论述题目解题思路时没有特殊情况都按照上面的程序执行顺序为准,个别题也会以其他更自然的顺序讲解。 本文的知识点整理仅起提示作用,一些不常用功能、参数可能会遗漏,如需了解详细…

数据库题目之数据库设计

一、选择题 1、在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的 阶段。 A.需求分析 B.概念设计 C.逻辑设计 D.物理设计 【答案:】B 2、在关系…

数据库常考大题

宝子们心心念念的数据库大题来啦~ 我已经整理好啦~你们根据目录找对应题目就好啦,嘿嘿~姐姐是不是还有点小贴心呢? 🛸 🌏 🌘 • . ✯✯ ★ * 🛰 . • ★ • ▁▂▃▄▅▆▇▇▆▅▄▃▁▂▃. 目录…

33道数据库题目

33道数据库题目 准备三张表题目 准备三张表 emp–员工表 dept–部门表 salgrade–工资等级表 题目 取得每个部门最高薪水的人员名称 (方法1) select ename, sal, deptno from emp where sal in (select max(sal) from emp group by deptno);(方法2) select e.…

50道数据库SQL练习题(深入理解各关键字的作用)

目录 表结构创建表练习题1、查询“001”课程比“002”课程成绩高的所有学生的学号2、查询所有同学的学号、姓名、选课数、总成绩3、查询平均成绩大于60分的同学的 学号和平均成绩4、查询姓“葛”的老师的个数5、查询没学过“五木”老师课的同学的学号、姓名6、查询学过“101”并…

数据库复习题选择题+判断题+填空题(考试续命必备

数据库复习题选择题判断题填空题(考试续命必备 一些选择题 1、从计算机数据管理的角度看,信息就是数据,数据就是信息。(B ) A、对 B、错 (描述事物的符号记录称为数据 数据库的数据项之间无联系,记录之间存在联系。…

【课后习题】高等数学第七版上第二章 导数与微分 第五节 函数的微分

习题2-5 1. 已知 y x 3 − x yx^3-x yx3−x, 计算在 x 2 x2 x2 处当 Δ x \Delta x Δx 分别等于 1 , 0.1 , 0.01 1,0.1,0.01 1,0.1,0.01 时的 Δ y \Delta y Δy 及 d y \mathrm{d} y dy. 2. 设函数 y f ( x ) yf(x) yf(x) 的图形如下, 试在图(a)、(b)、&#xff0…

高等数学同济七版课后习题答案

高等数学同济七版课后习题答案上册下册,习题全解指南。 一、《高等数学》(第七版)下册习题全解 第八章 向量代数与空间解析几何 下载地址: 链接:https://pan.baidu.com/s/185C8RB4Y9pYO84V4Rup1Wg 提取码:p0o8 习题8-1 向量及其线性运算 习题8-2 数量积 向量积 *混合积…

高等数学(第七版)同济大学 习题10-3 (后6题)个人解答

高等数学(第七版)同济大学 习题10-3(后6题) 函数作图软件:Mathematica 10. 利 用 球 面 坐 标 计 算 下 列 三 重 积 分 : \begin{aligned}&10. \ 利用球面坐标计算下列三重积分:&\end…