byte a = (byte)234;

System.out.println(a);

上面的代码,结果是-22,因为java中byte是有符号的,byte范围是-128~127。

如果想输出234,该怎么做呢,首先想到的是将a 赋给大一点的类型,如下:

byte a = (byte)234;

System.out.println(a);

int i = a;

System.out.println(a);

执行后,还是-22,因为int也是有符号的,所以a赋给i时,a的符号位在i中成为了i的符号位。

正确方法应该是:

byte a = (byte)234;

System.out.println(a);

int i = a;

System.out.println(a);

i = a&0xff;

System.out.println(i);

原因是:

0xff是int,占4个字节,a是byte,占1个字节,进行&操作的细节如下:

00000000 00000000 00000000 11101010    (a)

&

00000000 00000000 11111111 11111111    (i)

---------------------------------------------------------------------

= 00000000 00000000 00000000 11101010

结果是int,但是符号位是0,说明是正数,最后就是正整数234.

其实这个方法在C语言中也可以获取有符号char的无符号值,但是C语言中可以直接使用unsigned来转换就可以,比这个方便。

java byte转无符号int

import java.io.ByteArrayInputStream; public class Test{ public static void main(String[] args) { byt ...

为什么 Java 不提供无符号类型呢?

网上查资料,无意中找到一个java写的开源论坛,用的人还挺多 http://jforum.net/ 查MD5,了解到 Java getBytes方法详解(字符集问题) http://liushilan ...

Java 与无符号那些事儿

最近在使用 Java 作为 WebSocket 客户端连接 Node.js 的 WebSocket 服务器的时候,由于使用的客户端库比较老,所以遇到了字节符号的问题,上网查了一下,看到这篇文章写的很有 ...

利用Java位运算符,完成Unsigned转换(无符号)

方案二:利用Java位运算符,完成Unsigned转换. 正常情况下,Java提供的数据类型是有符号signed类型的,可以通过位运算的方式得到它们相对应的无符号值,参见几个方法中的代码: publi ...

JAVA byte有无符号数的转换

如果你只需要对英文文本的每个字节进行数据处理,则无需考虑有符号数和无符号数的转换问题: 但如果你需要对含有中文的文本进行字节处理,则可能需要考虑有无符号数的转换问题. 以下代码均为Java代码. 1. ...

java 无符号byte转换

java中的byte类型是有符号的,值得范围是-128-127 做网络通讯时,接收过来的数据往往都是无符号的byte,值得范围是0-255 因此直接转换时,存储到java显示的值就会有问题 int o ...

java无符号Byte

1.无符号byte, 实现了将byte(-128~127) 转换为 (0~255) class UnsignedByte { private short value; private byte raw ...

java有符号无符号的转换

数据处理中常常遇到基本数据类型的操作,java都是有符号的数据,而与下位机通信中常常遇到无符号的比如uint8, uint16,uint32等等 1.为了完成这个功能还专门采用ByteBuffer的方 ...

随机推荐

Java数据库连接技术——JDBC

大家好,今天我们学习了Java如何连接数据库.之前学过.net语言的数据库操作,感觉就是一通百通,大同小异. JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力. JDBC API ...

php示例代码使用mysql_fetch_assoc函数

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

AD7190学习笔记

1 建议SCL空闲时会高电平. 2复位:上电后连续输入40个1(时钟周期)复位到已知状态,并等待500us后才能访问串行接口,用于SCLK噪音导致的同步. 3单次转换与连续转换(连续读取):每次转换是 ...

新浪微博2.5.1 for Android 去广告

新浪微博更新到2.5.1版,就开始来广告了,伤不起啊... 亲,看到没,手机屏幕就那么一小块,还要往里面塞东西,另外是一个在后台运行的AdCenter服务. 所需要用到的工具有:apktool,JD- ...

商人过河问题(二)java实现

本文实现的java版商人过河是参考http://wenku.baidu.com/link?url=dpe2AC8mCjpGnclFv6iZy88_vqYm3bED4QDpSkAI4ssgs7Bhntu ...

runtime官方文档

OC是一种面向对象的动态语言,作为初学者可能大多数人对面向对象这个概念理解的比较深,而对OC是动态语言这一特性了解的比较少.那么什么是动态语言?动态语言就是在运行时来执行静态语言的编译链接的工作.这就 ...

mysql 分析3使用分析sql 性能 show profiles ;

show variables like '%profiling%';    查看状态  查看时间去哪了``` set  profiling=1;// 打开 show profiles;  查看执行过的 ...

Java使用agent实现main方法之前

创建Agent项目 PreMainExecutor 类,在main方法之前执行此方法 public class PreMainExecutor { public static void premain ...

python 图像处理,画一个正弦函数

import numpy as np from PIL import Image import matplotlib.pyplot as plt import math size = 300 new_ ...

Linux常用命令大全(非常全!!!)(转)

最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大.我将我了解到的命令列举一 ...

java byte 无符号类型_获取java byte的无符号数值相关推荐

  1. java jsp取静态常量_获取java静态

    Android NDK开发系列教程4:对类变量进行操作 终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~ 通常我们 ...

  2. 取 java 程序运行的路径_获取Java程序运行的路径 | 获取当前jar包的路径

    经过试验,不管是否是Jar包,不管是否是Tomcat部署,以下三个方法均可实现. package test; public class MyPath { public static String ge ...

  3. java返回当年的天数_获取Java中当年剩余的天数

    要获取当年剩余的天数,请找出当年总天数与经过的总天数之差. 首先,计算一年中的日期.Calendar calOne = Calendar.getInstance(); int dayOfYear =  ...

  4. java 时间 精确到毫秒_获取Java代码运行的时间(精确到毫秒) | 恋香缘

    一般在实际应用中经常使用System.currentTimeMillis() 来记录某段代码的运行时间.然而在需要精确计算某些时间的时候用该方法很可能您得到的时间为0,除非您的程序执行的时间超过1毫秒 ...

  5. 为啥JAVA虚拟机不开发系统_理解Java虚拟机体系结构

    1 概述 众所周知,Java支持平台无关性.安全性和网络移动性.而Java平台由Java虚拟机和Java核心类所构成,它为纯Java程序提供了统一的编程接口,而不管下层操作系统是什么.正是得益于Jav ...

  6. 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目

    王者荣耀是当下热门手游之一,小伙伴们是否想过如何制作一款属于自己的王者荣耀游戏呢? 本课程讲解了一个王者荣耀游戏的详细编写流程,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE ...

  7. java整型转换为数组_基于java中byte数组与int类型的转换(两种方法)

    java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送.者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形 ...

  8. java 文件大小单位换算_获取文件大小Byte、KB、MB、GB、TB单位自动转换

    获取文件大小Byte.KB.MB.GB.TB单位自动转换 下面这个是直接获取Byte(字节大小) /** * 获取文件的大小(Byte) * @param file 文件 * @return 文件的大 ...

  9. java获取长度_获取java长度

    Java获取本机MAC地址 为什么写这个呢?因为前几天看见网上有采用windows命令获取局域网和广域网MAC,查了查可以直接用JDK的方法. MAC可用于局域网验证,提高安全性. import ja ...

最新文章

  1. 案例 | 河小象:智办事高效驱动组织升级
  2. .net framework 4.0安装_Win 7无法安装Microsoft .NET Framework 4.6.2
  3. 转录组测序和RNA-seq
  4. Dynamics CRM Publisher
  5. Java中常见数据结构:list与map
  6. 计算机二级二叉树基础知识,2017年计算机二级公共基础知识学习教程:树与二叉树...
  7. hdu 4414 Finding crosses
  8. 60个数据窗口技巧(转)
  9. 程序员新人怎样在复杂代码中找 bug?
  10. php代码丑,php – 屏幕截图你生命中见过的最丑陋的HTML
  11. 跟我一起学docker(17)--多节点mesos集群
  12. vb html table,VB6.0 如何是用 datatable
  13. 蚂蚁金服异地多活的微服务体系
  14. 八爪鱼导出到mysql数据库_数据导出到Oracle数据库的方法 - 八爪鱼采集器
  15. 接口与interface关键字
  16. AI 诊断新算法,可提前十年查出老年痴呆症;济南酒店推行“人脸识别”,没带证件也可住店...
  17. w10恢复出厂设置_win10系统恢复出厂设置失败如何解决
  18. java中SSM环境搭建
  19. 可信数智云,联通云的个性化标签
  20. Verge3D for 3ds Max增强材质库发布

热门文章

  1. 判断手机号码属于哪个地区 哪个运营商(移动、联通、电信、)
  2. css3与android,Android开发人员不得不学习的CSS3基础
  3. mac自带的备忘录用法
  4. Proxmark​​​​​​​3介绍
  5. Apache Flink 漫谈系列(13) - Table API 概述
  6. 【4.7 高斯消元详解】
  7. opencv缩小图片的方法
  8. python+pyGame 黑白棋游戏
  9. 图解JavaScript闭包面试题
  10. screen设置翻页