在Java中,int是32位。一个字节是8位。

Java中的所有内容都是带符号的,而字节,整数,长整数以二进制补码编码。

在此数字中,最高有效位指定数字的符号。如果需要更多位,则最高有效位(“MSB”)被简单地复制到新的MSB。

所以如果你有字节255:11111111

并且你想把它表示为一个int(32位),你只需将1复制到左边24次。

现在,读取负二进制补码的一种方法是从最低有效位开始,向左移动直到找到第一个1,然后将每个位反转。结果数字是该数字的正版本

例如:11111111转到00000001 = -1。这是Java将显示为值。

你可能想要做的是知道字节的无符号值。

你可以用一个位掩码来实现这一点,它删除除了最低有效8位之外的所有数据。 (0xff)

所以:

byte signedByte = -1;

int unsignedByte = signedByte & (0xff);

System.out.println("Signed: " + signedByte + " Unsigned: " + unsignedByte);

将打印输出:“签名:-1无符号:255”

这里发生了什么?

我们使用按位AND来屏蔽所有无关的符号位(最低有效8位左边的1)。

当int被转换为一个字节时,Java剔除最左边的24位

1111111111111111111111111010101

&

0000000000000000000000001111111

=

0000000000000000000000001010101

由于第32位现在是符号位而不是第8位(并且我们将符号位设置为0,这是正值),所以从Java字节读取原始的8位为正值。

java int 转换成byte_Java如何将int转换为byte?相关推荐

  1. python double转int_如何将int转换成double

    展开全部 将int转换成double可以使用强制62616964757a686964616fe59b9ee7ad9431333431353431类型转换.自动类型转换两种方式. 1.强制类型转换 强制 ...

  2. 【引用】在Eclipse中将java Project转换成Dynamic Web Project

    编辑工程的.project文件: 添加 <nature>org.eclipse.wst.common.project.facet.core.nature</nature> &l ...

  3. 将已有项目转为se项目_如何将 Java 项目转换成 Maven 项目

    本文内容 Java 项目 Maven 项目 Java 项目转换成 Maven 项目 本文主要介绍如何将 Java 项目转换成 Maven 项目.首先要明确的是,用 Maven 管理 Java 项目的确 ...

  4. 用ikvm 来把java类库转换成_net类库,IKVM.NET

    软件介绍 IKVM.NET的是开源的基于.NET CLR 的Java虚拟机. 基于.NET的Java虚拟机意味着我们可以让Java程序跑在.NET上,可以通过虚拟机这个中介让Java程序和.NET应用 ...

  5. java字符串转换成时间Could not parse date: Unparseable date: 2018-12-28]

    在做项目时java字符串转换成时间报如下错误: Could not parse date: Unparseable date: "2018-12-28"] 后面发现是SpringM ...

  6. java float转换成long_在Java中如何将float转换为long或int数据类型?

    float f=1.2f;double d=Double.parseDouble(String.valueOf(f));System.out.println(d);直接转换会设计到精度问题,所以需要借 ...

  7. c++将int转换成string_Integer与int的区别 (== 与 equal)

    Integer与int的区别 (== 与 equal) 先来看下Java中的8种基本类型和3种引用数据类型 8种基本数据类型:boolean byte int char long short floa ...

  8. 类型转换——int转换成char(截短)

    转自:http://blog.sina.com.cn/s/blog_70ec9a6f010145wr.html int a,b;  //keil c里的int,也就是16位. a=0000; b=0x ...

  9. c语言int转换成float,int怎么转化为float 将 int型变量n转换成float型变量的方法是...

    请问C语言中如何将int转换为float 将 int型变量n转换成float型变量的方法是 A float n B (float )n C float( n) D( float) ( n)不懂小编的人 ...

  10. int转换成char

    如int i=1;在程序中直接将强制将i转换成char类型char a=(char)i,会发现a并不是'1'而是'\0001',原因是在将i转换成char时,默认的会把i的值当成ASCII值,这样a的 ...

最新文章

  1. CentOS 7 添加系统开机服务
  2. UVa12583 - Memory Overflow
  3. 谈无人车安卓为时尚早,投自动驾驶有三个标准
  4. centos6.x 安装elasticsearch6.x步骤
  5. javascript正则表达式总结(test|match|search|replace|split|exec)
  6. 对‘example_app_new’未定义的引用
  7. 安卓9.0添加服务修改SELinux
  8. 修改git历史提交的commit信息
  9. 爬虫-请求图片并打开显示图片
  10. 微软官方上线 Python 教程
  11. 有没有办法从nodejs代码中的package.json获取版本?
  12. OpenGL(一)二维图形的绘制:一个简单的绘制矩形程序
  13. 常见EDA软件的license管理
  14. 使用SNMP4J的SNMP Walk示例
  15. “硬件极客”:树莓派Raspberrypi安装Kali Linux保姆教程(通过树莓派安装ARM Kali教程)
  16. 8B10B编码表,8B10B编码表格,8B10B查表内容
  17. java 倍数_Java硬币翻转倍数递增试算实例
  18. 什么是信息流广告?有哪些比较好的信息流广告平台?
  19. Worthington产气荚膜梭菌神经氨酸酶的特征及测定
  20. [C++11]_[初级]_[十六进制字符串转换为字节数组]

热门文章

  1. [转载]微软WMV9的标准化进程受阻
  2. Symantec Endpoint Protection(SEP) 离线病毒库下载与升级
  3. 必应Bing可能会退出中国市场
  4. 正则表达式匹配中文时发现的问题
  5. Unity基础补漏(1)_GameObject类_Time类_Transform类_Camera_光面板_物理面板/物理材质_碰撞检测函数_刚体加力
  6. 国开大学c语言程序设计形考任务1,国开电大《数控编程技术》形考任务1-4答案...
  7. Loki搭建日志收集系统
  8. 华为交换机系统软件升级和安全漏洞修复教程
  9. C# 压缩解压Zip文件
  10. 4G多卡聚合路由器解决视频直播中的网络不稳定问题