1 主函数
public static void main(String[] args) { int number = 10; System.out.println(toInt(toBytes(number))); }
2 int转化成byte
public static byte[] toBytes(int number){ byte[] bytes = new byte[4]; bytes[0] = (byte)number; bytes[1] = (byte) (number >> 8); bytes[2] = (byte) (number >> 16); bytes[3] = (byte) (number >> 24); return bytes; }
3 byte转化成int
public static int toInt(byte[] bytes){ int number = 0; for(int i = 0; i < 4 ; i++){ number += bytes[i] << i*8; } return number; }
4 测试结果
5 过程分析
int占4个字节;byte占1个字节。int转化成byte的时候每次取低八位,用四个byte来存储一个int的值。byte转化成int的时候再按原来逆向移动相同的位数并叠加。
6 知识延伸
- 移位操作
https://blog.youkuaiyun.com/zhangyong01245/article/details/83715717 - 源码、反码、补码
正数:
反码是源码
补码是源码
负数:
反码是源码除符号位都取反
补码是反码加1 - 计算机为什么要用补码表示数值
https://blog.youkuaiyun.com/leonliu06/article/details/78685197
</div>
<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-b6c3c6d139.css" rel="stylesheet">
<div class="more-toolbox">
<div class="left-toolbox">
<ul class="toolbox-list">
<li class="tool-item tool-active is-like "><a href="javascript:;"><svg class="icon" aria-hidden="true">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#csdnc-thumbsup"></use>
</svg><span class="name">点赞</span>
<span class="count"></span>
</a></li>
<li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{"mod":"popu_824"}"><svg class="icon" aria-hidden="true">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-csdnc-Collection-G"></use>
</svg><span class="name">收藏</span></a></li>
<li class="tool-item tool-active is-share"><a href="javascript:;"><svg class="icon" aria-hidden="true">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-csdnc-fenxiang"></use>
</svg>分享</a></li>
<!--打赏开始-->
<!--打赏结束-->
<li class="tool-item tool-more">
<a>
<svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg>
</a>
<ul class="more-box">
<li class="item"><a class="article-report">文章举报</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="person-messagebox">
<div class="left-message"><a href="https://blog.youkuaiyun.com/qq_41637061">
<img src="https://profile.csdnimg.cn/1/B/8/3_qq_41637061" class="avatar_pic" username="qq_41637061">
<img src="https://g.csdnimg.cn/static/user-reg-year/1x/2.png" class="user-years">
</a></div>
<div class="middle-message">
<div class="title"><span class="tit"><a href="https://blog.youkuaiyun.com/qq_41637061" data-report-click="{"mod":"popu_379"}" target="_blank">李白的诗</a></span>
</div>
<div class="text"><span>发布了53 篇原创文章</span> · <span>获赞 6</span> · <span>访问量 20万+</span></div>
</div>
<div class="right-message">
<a href="https://im.youkuaiyun.com/im/main.html?userName=qq_41637061" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-letter">私信
</a>
<a class="btn btn-sm bt-button personal-watch" data-report-click="{"mod":"popu_379"}">关注</a>
</div>
</div>
</div>