技术标签: JAVA java 编码解码进制转换规约协议 开发语言
Java byte到Int的转换
Java byte到Int的转换有两种:
byte本身是带正负符号的, 默认向上转换也是带符号
byte本身是带正负符号的, 默认向上转换也是带符号
byte b = -3;
int i = b;
System.out.println(i); // 结果是 -3
byte b = -3;
int i = (int)b;
System.out.println(i); // 结果是 -3
i = Byte.toUnsignedInt(b);
源码是
/**
* Converts the argument to an {@code int} by an unsigned
* conversion. In an unsigned conversion to an {@code int}, the
* high-order 24 bits of the {@code int} are zero and the
* low-order 8 bits are equal to the bits of the {@code byte} argument.
*
* Consequently, zero and positive {@code byte} values are mapped
* to a numerically equal {@code int} value and negative {@code
* byte} values are mapped to an {@code int} value equal to the
* input plus 2<sup>8</sup>.
*
* @param x the value to convert to an unsigned {@code int}
* @return the argument converted to {@code int} by an unsigned
* conversion
* @since 1.8
*/
public static int toUnsignedInt(byte x) {
return ((int) x) & 0xff;
}
1.8版才有?
i = b&0xff;
或者
i = b&0xFF;
i = b&255;
if(b<0)i=b+256; else i=b;
i = b<0 ? b+256 : b;
if(b>=0)i=b; else i=b+256; //是大于等于 , 而不能是大于
i = b>=0 ? b : b+256; //是大于等于 , 而不能是大于
public class T2206040611 {
public static void main(String[] args) {
byte b = -3;
int i;
i = b; System.out.println(i);
i = (int)b; System.out.println(i);
i = Byte.toUnsignedInt(b); System.out.println(i);
i = b&0xff; System.out.println(i);
i = b&255; System.out.println(i);
if(b<0)i=b+256; else i=b; System.out.println(i);
i = b<0 ? b+256 : b; System.out.println(i);
}
}
结果
-3
-3
253
253
253
253
253
测试代码230601
package p230601;
public class Byte转int的方法230601 {
public static void main(String[] args) {
int i;
for(byte b : new byte[]{
-128, -64, -32, -16, -8, -4, -3, -2, -1, 0, 1, 2, 3, 4, 8, 16, 32, 64, 127 }){
i = b; p(i);
i = (int)b; p(i);
i = Byte.toUnsignedInt(b); p(i);
i = b&0xff; p(i);
i = b&255; p(i);
if(b<0)i=b+256; else i=b; p(i); //是小于< , 而不能是小于等于
i = b<0 ? b+256 : b; p(i); //是小于< , 而不能是小于等于
if(b>=0)i=b; else i=b+256; p(i); //是大于等于 , 而不能是大于
i = b>=0 ? b : b+256; p(i); //是大于等于 , 而不能是大于
System.out.println();
}
}
static void p(int i){
if(i==-128)System.out.print(""+i+"\t\t");
else System.out.print(""+i+"\t\t\t");
}
}
结果
-128 -128 128 128 128 128 128 128 128
-64 -64 192 192 192 192 192 192 192
-32 -32 224 224 224 224 224 224 224
-16 -16 240 240 240 240 240 240 240
-8 -8 248 248 248 248 248 248 248
-4 -4 252 252 252 252 252 252 252
-3 -3 253 253 253 253 253 253 253
-2 -2 254 254 254 254 254 254 254
-1 -1 255 255 255 255 255 255 255
0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3 3
4 4 4 4 4 4 4 4 4
8 8 8 8 8 8 8 8 8
16 16 16 16 16 16 16 16 16
32 32 32 32 32 32 32 32 32
64 64 64 64 64 64 64 64 64
127 127 127 127 127 127 127 127 127
文章浏览阅读192次。本文是对上一篇打包文章的补充,后台好多人私信我说打包的版本号如何设置,今天出个补充说明。
文章浏览阅读259次,点赞10次,收藏5次。先整理在这里吧,递归说简单也简单,说难也真难。供参考。
文章浏览阅读1.6k次。提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码_html+js实现数字动态翻滚
文章浏览阅读7.8k次,点赞9次,收藏56次。想要练习爬虫的兄弟们,可以看看这个如果大神们看到有哪里可以改进的地方,请告诉小弟,我是个纯纯新手,练习了几次爬虫以前一直用的BeautifulSoup,一直没有接触过正则表达式正则表达式是一个非常好用、实用的东西,在这里也稍微练习一下(我就是研究正则表达式的时候跑偏了,爬取了各个网站的妹子图)为了得到进一步的练习,这里再加入多线程爬取,提高下载速度的同时,又练习了一个新知识开始今天爬取的是挖好图(https://www.wahaotu.com/),这个网站中的妹子图,你也可以爬取该网_美女图片线上链接地址
将FPM报表开发简化为类似GUI端ALV的开发过程::定义数据对象,选择屏幕;4. 创建search UIBB 和list UIBB并填写feeder 类。需要继承基础类并重写对应方法,复制或新建FPM应用,使用新报表对应的类。使用FPM开发报表时,如果报表字段过多,页面拖拽等操作不方便。可扩展实现一个FPM应用根据不同的URL参数,来展示报表。如下以新建FPM应用为例(可直接拉至文末查看代码)可添加权限,数据源可配置等功能,作为报表中心。报表数量过多时,新建应用操作步骤较为繁琐。
文章浏览阅读5.8k次,点赞3次,收藏2次。其实想要重置 5.7 的密码很简单,就一层窗户纸:1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1这一行配置让 mysqld 启动时不对密码进行验证2、重启 mysqld 服务:systemctl restart mysqld3、使用 root 用户登录到 mysql:mysql -u root _mysql 5.7 默认生成一个随机密码
文章浏览阅读1.8k次。主要用于贴图1、用图片实现按钮2、按钮控件属性设置为不可视代码如下:BOOL CLoginDlg::PreTranslateMessage(MSG* pMsg){ // TODO: 在此添加专用代码和/或调用基类 if (pMsg->message == WM_LBUTTONDOWN) { //获取按钮的区域 CRect rect,rc; m_Ok.GetWindowRe..._vc++ pretranslatemessage
文章浏览阅读1.1w次,点赞38次,收藏237次。粒子群优化BP神经网络初始权值(python实现)网上看了一些资料,但都是用matlab写的,(还要用csdn会员积分下载)自己不太会用matlab,就试着用python写了段小程序实现,数据用的是sklearn中的波士顿房价数据集,神经网络部分是用tensorflow2。(本来想用sklearn,但不知道怎么把网络权值提取出来)思路挺简单的,就是把BP网络误差作为粒子群优化的目标,每个粒子对应网络权重,一轮一轮的迭代。(先是在一篇建模论文里看到了这个想法,虽然好像没啥实用价值)大一,只会捏泥巴,各位_python sklearn 蚁群 优化bp
文章浏览阅读239次。----入门篇---- 入门知识 http://www.cnoug.org/viewthread.php?tid=17449&h=1 Oracle 的入门心得-->强烈推荐 http://w..._oracle 配置一个新org应如何配置
文章浏览阅读1.5w次。笔者的笔记本电脑是ThinkPad T420。用Logitech(罗技) M555b鼠标已经有一年多的时间了,不过之前一直是在win7 32位系统下使用的,用了能有一年多的时间,一直很稳定,没有出现过任何问题。 最近买了一条内存,加上原来的内存一共是8G。32位系统识别不出这么多内存,没有办法,只能安装64位系统。安装过程一切顺利,没有出现过什么问题。但是所有程序都安装完成,在使用电脑的过程_罗技m555b最简单处理方法
文章浏览阅读254次。转载请标明出处:https://www.cnblogs.com/kelamoyujuzhen/articles/9161515.html实验环境:Host:Windows10 + WMWare Workstation14.1.1 build-7528167LSB Version: :core-4.1-amd64:core-4.1-noarchDistributor ID: Cen..._you just mounted an file system that supports labels which does not
文章浏览阅读2.5k次,点赞3次,收藏20次。记住“IPv4 地址: 192.168.127.1”。_windows2008虚拟机安装教程