byte b = (byte)130; 结果为-126,为什么? byte b = (byte)130; 结果为-126,为什么? 2023-01-06 792 数据130默认是int类型的十进制数据 第一步十进制的130转换成二进制数据 1 0 0 0 0 0 1 0 第二步130是int类型是占4个字节的,所以在内存的表现形式是 00000000 00000000 00000000 10000010 做了截取后的结果为 10000010 通过观察最高位符号位是1,这是一个负数,因为在计算机中所有的数据都是以补码的形式出现的所以要算它的补码 原码:1 0000010 原码变反码,最高位符号位不变,其他数值位1变0,0变1得反码 反码:1 1111101 反码变补码就是反码加1得 补码;1 1111110 最终的看到的结果就是 1 1111110最高为是符号位不运算,数值为转化为十进制是64+32+16+8+4+2=126符号位负 所以为-126 免费搭建微信查券返利机器人来轻松赚佣金 文章来自:IT技术分享网 分享地址:http://www.5ityx.cn/cate117/214644.html 上一篇: 通过多线程提高代码的执行效率例子 下一篇: k8s学习笔记——添加worker节点 byte b = (byte)130; 结果为-126,为什么? 相关内容 AssertionError:Torch not compiled with CUDA enabled CMS系统的页面静态化流程 【RabbitMQ】——队列持久化&消息持久化&不公平分发 机器学习(一): python三种特征选择方法 Vim中安装自动补全插件YouCompleteMe websocket ---反向代理解决跨域问题 SpringMVC文件上传实现步骤详解 计算机网络学习笔记(二)---运输层,应用层 图与补图的最大度和最小度的关系问题 Linux 设置定时任务简单易用 SI,SIS,SIR,SEIRD模型 mybatis 复习 2 - 动态查询 MobaXterm建立有跳板机/堡垒机的SSH session(会话) 学习到第一个国庆的感想 关于layui table 渲染数据不全的问题 Spring为啥不推荐使用@Autowired注解?