草庐IT

GL_UNSIGNED_SHORT

全部标签

java - 为什么 Java 中的 FileInputStream 读取方法返回一个 int,而不是一个 short?

我知道byte的类型不足以包含读取方法的结果。所以,read方法返回的是int类型的值。但我认为short类型比int更有效。它可以包含范围-256~255的值。为什么read方法返回的是int,而不是short? 最佳答案 Javadocumentationonprimitivetypes建议应该使用short而不是int来“在大型数组中节省内存”:short:Theshortdatatypeisa16-bitsignedtwo'scomplementinteger.Ithasaminimumvalueof-32,768andam

java - 使用 byte、short 和其他基本类型

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭7年前。Improvethisquestion为什么我不经常看到它们。我只看到它们主要用于网络,其中大小确实很重要。但是,例如,我有一个变量只使用1-10范围内的数字,我不应该使用字节吗?我习惯于使用尽可能小的内存编写C/C++代码,为什么在Java中不是这样?

java - 将int转换为unsigned short java

我用java编写了一个.obj解析器来对iPhone上的3D对象进行建模。我想将数据导出为二进制文件,该文件必须尽可能小。我有很多适合unsignedshort的索引,但它们在java中表示为int。我想在将数据写入文件之前使用ByteBuffer类进行转换。我想我必须在将字节插入ByteBuffer之前对其进行操作,但我不知道该怎么做。如果您能帮助我,在此先感谢您。 最佳答案 在Java中,一个无符号的short可以表示为一个char。只需将int转换为char并在ByteBuffer上使用putChar()。myBuffer.p

java - java中unsigned long的等价物是什么

我为我的项目编写了以下三个函数:WORDshuffling(WORDx){//WORD-4bytes-32bits//giveninput-a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15-b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15//outputrequired-a0,b0,a1,b1,a2,b2,a3,b3,a4,b4,a5,b5,a6,b6,a7,b7-a8,b8,a9,b9,a10,b10,a11,b11,a12,b12,a13,b13,a14,b14,a1

java - byte, short, char 是否在 switch 语句中自动提升?

给定以下代码,'a'(即char类型)在switch中自动提升为int类型-case声明?voidtestSwitch(bytex){switch(x){case'a'://1case256://2default://3case1://4}我找不到JavaSE7是否提到了这一点..预先感谢您的澄清。问候,丹尼尔 最佳答案 这是语言规范中提到的内容。参见thissectiononswitchstatements:Givenaswitchstatement,allofthefollowingmustbetrueoracompile-ti

java - Libgdx gl10.glLineWidth()

我有这一行:Gdx.gl10.glLineWidth(宽度);现在,我打算画一条很粗的线,不幸的是,当我输入1或5等小值时,线显然很小。但是一旦我超过10之类的东西,它就不再变大了。在这些情况下,我传递的是直接值,因此,我的印象是GL有限制或类似的东西……我是对的吗?这是我的代码:Gdx.gl.glClearColor(0,0,0,1);Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);batch.setProjectionMatrix(cam.combined);batch.begin();batch.draw(bg,0,0,WIDTH,HEIGHT)

已解决1:STM32+SYN6288语音模块中文播报汉字乱码;2:警告: passing ‘char [5O]’to parame ter of type ‘uos o’(aka ‘unsigned

目录遇到的问题1:使用STM32+SYN6288语音模块时,可以正常进行英文和数字的播报,但改为中文进行播报时,播报的是乱码汉字。遇到的问题2:出现警告warning:passing'char[5O]’toparameteroftype'uoso’(aka'unsignedchar*)convertsbetweenpointerstointegertypeswithdifferentsign修改处源码两个问题亲测无误,完美解决。源码来自:绿深旗舰店SYN6288语音合成模块STM32F405RGT6测试程序所用模块:绿深SYN6288语音合成模块遇到的问题1:使用STM32+SYN6288语音

java - 为什么需要数据类型 byte、char 和 short

我在JVM规范中读到数据类型byte、short和char在内部被视为int。那么,如果我们不能从它们的小尺寸中获益,为什么要使用这些数据类型呢? 最佳答案 部分是为了与C/C++兼容,部分是为了节省内存-在内部,短片存储为短片,但处理为短片整数。newshort[10]占用的内存是newint[10]的一半 关于java-为什么需要数据类型byte、char和short,我们在StackOverflow上找到一个类似的问题: https://stackove

java - 比较两个 Short 对象给出意想不到的结果

我正在执行以下代码得到了一些令人惊讶的结果classTest{publicstaticvoidmain(String[]args){Shorti=122,j=122;if(i==j){System.out.println("true");}else{System.out.println("false");}}}和classTest{publicstaticvoidmain(String[]args){Shorti=1222,j=1222;if(i==j){System.out.println("true");}else{System.out.println("false");}}}当我

java - 将 Byte[] 读取为 unsigned short Java

我需要读取一个16位的字节数组作为unsignedshortnumber,Java不支持unsignedshort类型。那我该怎么做呢??请帮忙!! 最佳答案 假设您有来自非Java源的二进制数据,您必须读取和使用Java中的值:将其读取为(带符号的)short,然后将其转换为int,如下所示:intintVal=shortVal>=0?shortVal:0x10000+shortVal您不能在short中表示unsignedshort的所有值,但在int中可以。 关于java-将Byt