java四个字节表示整数_java – 四个字节的四个整数?
我想知道我是否可以就我目前正在做的一些工作提出一些建议.
我正在使用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 – 四个字节的四个整数?相关推荐
- java 字节取位_java位 、字节 、字符的梳理
1字节(byte)=8位(bit) char=2字节(这是因为char是Java中的保留字,Java用的是Unicode,所以char在Java中是16位即2个字节的.) 附: String str= ...
- java中集合的模型特点_Java 学习笔记(十四)集合
集合 在开发的时候,如果需要存储多个数据,可以使用数组,不过数据是固定长度的,如果需要存储可变长度的多个数据,可以使用集合.集合提供存储空间可变的存储类型,存储的容量可以实时改变 集合分类 Colle ...
- java成员变量除了方法传递_JAVA类与对象(四)----成员变量与局部变量 、成员方法、构造方法...
类体中的变量分为两部分.变量定义部分定义的变量为类的成员变量,在方法体中定义的变量和方法中涉及的变量称为局部变量. 成员变量和局部变量的区别: (1).成员变量在整个类中都有效,局部变量只在定义它的方 ...
- java字符串如何按字符截取_JAVA如何按字节截取字符串
JAVA如何按字节截取字符串 这篇文章主要介绍了JAVA如何按字节截取字符串,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 public class ...
- java怎么设置多个输入_Java中从键盘输入多个整数的方法
Java中从键盘输入多个整数的方法 发布于 2020-4-2| 复制链接 分享一篇关于Java中从键盘输入多个整数的方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小妖过来看看吧 例题:求数列的 ...
- java输入两个整数_Java中从键盘输入多个整数的方法
例题:求数列的和 分别输入两个整数n,m,中间以空格隔断,n 为数列第一项,后面各项均为前一项的开根号,求前m项的和. 第一种从键盘输入并读取的方式:sc.hasNextInt() 函数和sc.nex ...
- java获取键盘整数_Java中从键盘输入多个整数的方法
例题:求数列的和 分别输入两个整数n,m,中间以空格隔断,n 为数列第一项,后面各项均为前一项的开根号,求前m项的和. 第一种从键盘输入并读取的方式:sc.hasNextInt() 函数和sc.nex ...
- java键盘输入整数_Java中从键盘输入多个整数的方法
例题:求数列的和 分别输入两个整数n,m,中间以空格隔断,n 为数列第一项,后面各项均为前一项的开根号,求前m项的和. 第一种从键盘输入并读取的方式:sc.hasnextint() 函数和sc.nex ...
- Java反射机制01_反射的概念以及获取字节码信息 的四种方式
Java反射机制01-反射的概念以及获取字节码信息 的四种方式 一.反射的概念 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象, 都能够调用它的任意 ...
最新文章
- python 3389爆破机
- position:fixed和scroll实现div浮动【示例】
- 12.04 深圳站 | Serverless Developer Meetup 开放报名啦
- python sanic openapi_2020年了,python的web framework sanic 可以考虑生产环境部署了么?...
- HDU1010 Tempter of the Bone DFS+剪枝
- thinkphp5.0 使用paginate 分页后 foreach 循环体内不能处理数据的解决办法
- php全部公开课,PHP公开课|这篇PHP的each()函数教学数,只为了帮你的PHP会学的更好...
- Leetcode 刷题笔记(十七) —— 二叉树篇之公共祖先问题
- (转)这张照片告诉了你蚂蚁金服成功的秘密...
- python截屏保存本地_Python截图并保存的具体实例
- 亚马逊自然语言NLP 商品评论智能分析 demo及开发过程 【1 总体API介绍】【持续更新中】
- 移动端 html 表单案例,【干货】5大移动端表单设计原则及案例赏析
- 阿里天池:Airbnb短租房数据集分析
- 如何进行Java学习
- 【python爬虫】爬取深圳证券业协会公布的营业部数据并对pdf文件进行解析
- PostgreSQL引入的JSONB解释
- Android获取一周每一天的日期
- vue中methods、mounted等使用方法整理
- 谭民机器人_科学网—中科院自动化所喻俊志,谭民研究员等:冰雪运动生物力学及其机器人研究进展 - 欧彦的博文...
- 【容器云】Calico 组件架构