java 取int型的第二个字节的数

原创 2018年04月15日 22:23:26

无意中看到某个题目,前提条件,一个byte最多表示256位,因为其是由8个位表示 ,八个1 最多表示256位。

一个int由32位组成,所以是4个byte表示。题目要求是给定一个int数字,问第二个byte是多少。刚开始不会写。

再后来复习nio时,突然想到这题。

1.首先创建 Bytebuffer,其内部是由byte组成的数组。因为我们保存一个int 只需要创建一个大小为4byte的即可。下面看代码。

  public static void main(String[] args) throws IOException {
        ByteBuffer bb=ByteBuffer.allocate(4); //创建大小为4的byteBuffer
        bb.asIntBuffer().put(5566); //以int视图将任意int数存进去      
        System.out.println(Arrays.toString(bb.array()));    //打印出改bytebuffer,其中想要第几个byte就取出就好了
    }

结果

[0, 0, 21, -66]

2.通过位运算计算,,首先 

int  a=5566;

a=a>>8;

a=a&0xff;

得到的a就是 第二位的值

3.附一个int转byte数组


  private static  byte[] intToByte(int in){
    byte [] b=new byte[4];
    b[3]= (byte) (in&0xff);
    b[2]= (byte) (in>>8 &0xff);
    b[1]= (byte) (in>>16 &0xff);
    b[0]= (byte) (in>>24 &0xff);
    return b;
    }



版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/woaiqianzhige/article/details/79954241

交换int中第一个字节和第四字节的值

根据上一篇文章中修改int中第2个字节的内容,这里还有另一个题“交换int中第一字节和第四字节的值?” 这个题使用同样的方法,将int变量放入char buffer中去,然后交换buffer[0]和...
  • bian_qing_quan11
  • bian_qing_quan11
  • 2017-08-29 11:51:29
  • 419

整形数据(int)如何转换到字节型数据(byte)的

#今天遇到了一个问题:byte a = (byte)0x86 ; System.out.println(a==0x86); //结果显示为false,我惊了个呆。。。呆然后分析一下原因: 数据类型...
  • u013869488
  • u013869488
  • 2016-06-19 14:08:34
  • 2723

int 类型究竟多少字节?

今天发现NEON技术中 int类型的字节数是2,感觉很奇怪,最早写51单片机时也是2,后来到了观念转变成了4,现在有遇到了2. 一、转自 http://www.tuicool.com/arti...
  • qing101hua
  • qing101hua
  • 2016-12-17 17:28:40
  • 5901

int转byte与补码的关系

int类型强制转换为 byte类型   (2012-11-27 18:35:54) 标签:  强制类型转换   分类: java ...
  • qq_26222859
  • qq_26222859
  • 2016-10-15 16:59:26
  • 494

btye(字节型)与int(整数型)

btye(字节型)与int(整数型)
  • qq861138181
  • qq861138181
  • 2017-02-07 10:43:58
  • 337

Java中utf-8占几个字节

Java中utf-8占几个字节
  • u013905744
  • u013905744
  • 2016-07-16 10:28:12
  • 4053

int类型究竟占几个字节

最近在看深入理解计算机系统这本书,上面提到了在32位机器和64机器中int类型都占用4个字节。后来,查了The C Programming language这本书,里面有一句话是这样的:Each co...
  • user_longling
  • user_longling
  • 2014-04-14 11:10:14
  • 18789

Java——int型移位操作时,只有数值右端的低5位才有用

Thinking in Java, Only the five low-order bits of the right-hand side will be used ( 只有数值右端的低5位才有用 )...
  • lim_dev
  • lim_dev
  • 2017-04-02 18:03:37
  • 779

int型变量占多少个字节?

int型变量有时候占4个字节(在Win32),有时候占2个字节(在DOS)   这个int类型的大小到底是跟编译器有关,还是跟CPU有关,还是跟操作系统有关? 所谓的16位32位64位系统是由...
  • blackkey2008
  • blackkey2008
  • 2015-10-26 11:41:38
  • 2384

java中获取byte的高四位和低四位

最近在开发中遇到了一个问题,就是提取一个byte中的低四位和高四位。为什么要用到这个呢,因为我们自定义了一个协议,并在协议中用一个byte表示软件版本,比如1.22这个版本,1用高四位表示,22用低四...
  • sinat_27681957
  • sinat_27681957
  • 2016-05-14 09:37:43
  • 7337
收藏助手
不良信息举报
您举报文章:java 取int型的第二个字节的数
举报原因:
原因补充:

(最多只允许输入30个字)