
计算机基础
天花板之恋
在coding的路上
展开
-
算法题汇总
2.链表反转中间段的节点。6.锯齿分层遍历二叉树。原创 2024-03-18 16:35:41 · 235 阅读 · 0 评论 -
Java中:byte转换为int ,int转换为long
1.byte转换为int 在Java语言中,byte 和 int都是有符号的,它们的数值都是用补码做计算的。 byte的数值范围是:-128 ~ +127 。高位为1表示负数,0表示正数。 如果在业务中遇到传输的数据是无符号的,就会存在问题。比如远程设备给我们传过来一个0xfe的数据: 0xfe,无符号的时候表示的是254,二进制为 11111110 。但是在Java程序里面,0xfe在byte中的值却表示的是-2 ,这就会出现问题。 如果用int数据类型来放0xfe,是没问题的。因为int虽然也是有符号的原创 2021-10-20 16:18:37 · 3164 阅读 · 0 评论 -
计算机基础——码制表示
我们知道,计算机最底层是以二进制组织和存储数据的,一个字节当中,最高位是表示符号位,1表示负数,0表示整数,其余的七个位则是真正的数值。例如 十进制 -18 转换成二进制就是 10010010. 原码:原码就是十进制转换成二进制后的机器码,如[-18]原码 = 10010010,[+18]原码 = 00010010. 反码:整数的反码就是原码本身,负数的反码就是除了符号位的其他位取反,如[-18原创 2017-07-24 11:22:38 · 3090 阅读 · 0 评论 -
计算机基础——JAVA位操作
前言:我们之前讲过原码反码和补码的关系和相应的转换操作。在JAVA中,采用的也是补码的形式进行数据的操作,这一点需要注意。1、~操作符(取反),对二进制位进行取反的操作,0变成1,1变成0。例如,~(-3)之后的值是 2,[-3]补码 = 11111101,取反后 = 00000010 = [2]补码 = 2 。2、&操作符(与),对二进制位进行与的操作,同时为1的时候为1,其他情况为0。例如,(-原创 2017-07-25 09:49:25 · 302 阅读 · 0 评论