我想知道我是否可以就我目前正在做的一些工作提出一些建议.

我正在使用STANAG文档,该文档引用了以下内容:

ID numbers shall be formed as 4-byte numbers. The first (most significant) byte shall be the standard NATO country code for the object in question. Valid country codes shall range from 0 to 99 decimal… Country code 255 (hexadecimal FF) shall be reserved.

然后继续详细说明其他三个字节.在规范中,ID的类型为Integer 4,其中Integer n是有符号整数,n是1,2或4个字节.

我的问题,我承认这可能被认为是一个无知的问题而且我道歉,正如我们所知,整数是32位/ 4字节.例如,当99是整数时,“第一个字节”怎么样?

我非常感谢任何澄清.

解决方法:

整数通常是4个字节.但是如果存储像99这样的小数字,则其他三个字节存储8x 0值位.规范要求您使用一个整数存储(4字节)在其字节中存储4个不同的较小数字.

最简单的方法是在4字节的数组上使用toInt函数,例如(没有byte []长度检查也没有测试过这个功能 – 它只是说明性的)

public static final int toInt(byte[] b)

{

int l = 0;

l |= b[0] & 0xFF;

l <<= 8;

l |= b[1] & 0xFF;

l <<= 8;

l |= b[2] & 0xFF;

l <<= 8;

l |= b[3] & 0xFF;

return l;

}

byte[] bytes = new byte[] {99, 4, 9, 0};

int i = toInt(bytes, 0);

32位的int

11110101 00000100 00001001 00000000

^byte ^byte ^byte ^byte

int中的每个8位块足以“编码”/“存储”较小的数字.因此,int可用于将4个较小的数字混合在一起.

标签:java,integer,byte,stanag

来源: https://codeday.me/bug/20190610/1211792.html

java四个字节表示整数_java – 四个字节的四个整数?相关推荐

  1. java 字节取位_java位 、字节 、字符的梳理

    1字节(byte)=8位(bit) char=2字节(这是因为char是Java中的保留字,Java用的是Unicode,所以char在Java中是16位即2个字节的.) 附: String str= ...

  2. java中集合的模型特点_Java 学习笔记(十四)集合

    集合 在开发的时候,如果需要存储多个数据,可以使用数组,不过数据是固定长度的,如果需要存储可变长度的多个数据,可以使用集合.集合提供存储空间可变的存储类型,存储的容量可以实时改变 集合分类 Colle ...

  3. java成员变量除了方法传递_JAVA类与对象(四)----成员变量与局部变量 、成员方法、构造方法...

    类体中的变量分为两部分.变量定义部分定义的变量为类的成员变量,在方法体中定义的变量和方法中涉及的变量称为局部变量. 成员变量和局部变量的区别: (1).成员变量在整个类中都有效,局部变量只在定义它的方 ...

  4. java字符串如何按字符截取_JAVA如何按字节截取字符串

    JAVA如何按字节截取字符串 这篇文章主要介绍了JAVA如何按字节截取字符串,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 public class ...

  5. java怎么设置多个输入_Java中从键盘输入多个整数的方法

    Java中从键盘输入多个整数的方法 发布于 2020-4-2| 复制链接 分享一篇关于Java中从键盘输入多个整数的方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小妖过来看看吧 例题:求数列的 ...

  6. java输入两个整数_Java中从键盘输入多个整数的方法

    例题:求数列的和 分别输入两个整数n,m,中间以空格隔断,n 为数列第一项,后面各项均为前一项的开根号,求前m项的和. 第一种从键盘输入并读取的方式:sc.hasNextInt() 函数和sc.nex ...

  7. java获取键盘整数_Java中从键盘输入多个整数的方法

    例题:求数列的和 分别输入两个整数n,m,中间以空格隔断,n 为数列第一项,后面各项均为前一项的开根号,求前m项的和. 第一种从键盘输入并读取的方式:sc.hasNextInt() 函数和sc.nex ...

  8. java键盘输入整数_Java中从键盘输入多个整数的方法

    例题:求数列的和 分别输入两个整数n,m,中间以空格隔断,n 为数列第一项,后面各项均为前一项的开根号,求前m项的和. 第一种从键盘输入并读取的方式:sc.hasnextint() 函数和sc.nex ...

  9. Java反射机制01_反射的概念以及获取字节码信息 的四种方式

    Java反射机制01-反射的概念以及获取字节码信息 的四种方式 一.反射的概念 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象, 都能够调用它的任意 ...

最新文章

  1. python 3389爆破机
  2. position:fixed和scroll实现div浮动【示例】
  3. 12.04 深圳站 | Serverless Developer Meetup 开放报名啦
  4. python sanic openapi_2020年了,python的web framework sanic 可以考虑生产环境部署了么?...
  5. HDU1010 Tempter of the Bone DFS+剪枝
  6. thinkphp5.0 使用paginate 分页后 foreach 循环体内不能处理数据的解决办法
  7. php全部公开课,PHP公开课|这篇PHP的each()函数教学数,只为了帮你的PHP会学的更好...
  8. Leetcode 刷题笔记(十七) —— 二叉树篇之公共祖先问题
  9. (转)这张照片告诉了你蚂蚁金服成功的秘密...
  10. python截屏保存本地_Python截图并保存的具体实例
  11. 亚马逊自然语言NLP 商品评论智能分析 demo及开发过程 【1 总体API介绍】【持续更新中】
  12. 移动端 html 表单案例,【干货】5大移动端表单设计原则及案例赏析
  13. 阿里天池:Airbnb短租房数据集分析
  14. 如何进行Java学习
  15. 【python爬虫】爬取深圳证券业协会公布的营业部数据并对pdf文件进行解析
  16. PostgreSQL引入的JSONB解释
  17. Android获取一周每一天的日期
  18. vue中methods、mounted等使用方法整理
  19. 谭民机器人_科学网—中科院自动化所喻俊志,谭民研究员等:冰雪运动生物力学及其机器人研究进展 - 欧彦的博文...
  20. 【容器云】Calico 组件架构

热门文章

  1. 推箱子游戏c/c++实现
  2. VGG16网络详解并使用pytorch搭建模型
  3. 弘辽科技:95后小伙创业开网店,一天收入近万元?
  4. 多目标进化优化的Tchebycheff分解方法
  5. 第十六节 装箱拆箱 类和结构
  6. 基于JavaEE(JSP)的共享资料平台的设计与实现
  7. sql批量修改某字段所有值
  8. qt for mac工程设置相关
  9. 2022最新天龙八部环境-GS环境离线版-Linux Docker TLBB+视频教程
  10. WIZnet以太网芯片选型指南