标签: short

C#短错误:否定二进制补码数的最小值无效

我的项目遇到了这个错误,涉及使用数字音频信号.

所以我一直在获得振幅值,最近遇到了这个错误.当调试时遇到的幅度值为"-32768"时会发生这种情况.我将值存储在short []数组中.

我有一种预感,它与最大/最小值有关(我使用Math.Abs​​),但我不确定如何处理它.

有人可以帮忙吗?谢谢!

c# short

12
推荐指数
3
解决办法
9660
查看次数

在java中生成短随机数?

我想生成一个类型为short的随机数,就像有一个名为Random.nextInt(134116)的整数类型的函数一样.我怎样才能实现它?

java random short

12
推荐指数
4
解决办法
9844
查看次数

为小型循环计数器选择什么数值类型?

考虑int占用内存中的4个字节.

理解我正在寻找的是这个例子:

for(x=0;x<10;x++) //do something

在这个指令我知道x的值小于11,

我见过很多代码,大多数人都声明xint一样,

为什么我们不应该或为什么大多数人不会宣称x短片甚至像char!

我想是因为我找到了这个解释,例如:

short s=5;

s在内存中占用2个字节,而我所知道的是编译器认为5就像一个int 所以要把5放到s,5应该转换为short right !!

- >所以这条指令占用的内存更少,但工作更多

int i=5;

这里需要4个字节,但不需要对话(5是一个int)

- >所以这条指令做的工作少,但需要更多的记忆

就像我想的那样!

我希望我的问题很明确

c c++ int short char

12
推荐指数
4
解决办法
1252
查看次数

在C#中从短到节转换时会发生什么?

我有以下代码:

short myShort = 23948;
byte myByte = (byte)myShort;
Run Code Online (Sandbox Code Playgroud)

现在我没想到myByte要包含值23948.我猜它会包含255(我相信一个字节的最大值).

然而,它包含140,它让我想知道为什么; 幕后实际发生了什么?

请注意,我不是在找人解决23948无法容纳的问题,我只想知道底层实现

c# byte casting short

11
推荐指数
2
解决办法
5228
查看次数

C++如何将两个带符号的8位数组合成16位短数?无法解释的结果

我需要将两个带符号的8位_int8值组合成一个有符号的短(16位)值.重要的是标志不会丢失.

我的代码是:

 unsigned short lsb = -13;
 unsigned short msb = 1;
 short combined = (msb << 8 )| lsb;
Run Code Online (Sandbox Code Playgroud)

我得到的结果是-13.但是,我预计它会是499.

对于以下示例,我使用相同的代码获得正确的结果:

msb = -1; lsb = -6; 合并= -6;

msb = 1; lsb = 89; 合计= 345;

msb = -1; lsb = 13; 合计= -243;

但是,msb = 1; lsb = -84; 合并= -84; 在哪里我期待428.

似乎如果lsb为负且msb为正,则出现问题!我的代码出了什么问题?计算机如何得到这些意外结果(Win7,64位和VS2008 C++)?非常感谢您的帮助!

c++ signed byte short

11
推荐指数
2
解决办法
4万
查看次数

C中的"短"数据类型是什么?

在以下功能中:

void AddWordData(FILE* dataFile, short word, int* dc)
{
    fprintf(dataFile, "%06o\n", word);
    ++(*dc);
} 
Run Code Online (Sandbox Code Playgroud)

该功能正在变短.我在网上做了一些搜索,但发现只有短整数.当一个函数得到一个短类型时它意味着什么?它的数据类型是什么?

c short

11
推荐指数
1
解决办法
5万
查看次数

如何计算两个短整数的汉明距离?

汉明距离:

例如,两个二进制数:1011和1000的HD(汉明距离)是2.

10000和01111的HD是5.

这是代码:

有人可以向我解释一下吗?

谢谢!

short HammingDist(short x, short y)
{
  short dist = 0;
  char val = x^y;// what's the meaning?
  while(val)
  {
    ++dist; 
    val &= val - 1; // why?
  }
  return dist;
}
Run Code Online (Sandbox Code Playgroud)

c++ short hamming-distance census

11
推荐指数
1
解决办法
1万
查看次数

我这样做了吗?

在此输入图像描述



在我寻求帮助之前,让我告诉你我做了什么:假设我的采样率为8000Hz,样本大小为16位(2字节),在第二秒结束时我需要16000字节或8000短.
现在我有10fps的录制速度然后每个fps我需要16000/10 = 1600字节.
那么,这是故事的进展:

变量声明:

byte[] eachPass = new byte[1600]; //used to store data from TargetDataLine for each pass
byte[] backingArray = new byte[16000]; //the complete data for one second
ByteBuffer buffer = ByteBuffer.wrap(backingArray); //buffer which stores the complete data
short[] audioSample = new short[16000/2]; //audio samples to be encoded
int passCounter = 0; /* After 10th pass, convert the byte[] to short[]
                      * using ByteBuffer */
int seconds = 0; // used …
Run Code Online (Sandbox Code Playgroud)

java audio byte bytebuffer short

10
推荐指数
1
解决办法
297
查看次数

unsigned short vs unsigned int - 有时它们是相同的范围?

unsigned short和之间有什么区别unsigned int?我发现,unsigned short0-65,535unsigned int0-65,5350-4,294,967,295.我不太了解这种差异.如何知道架构中数据类型的大小?如果例如c = (unsigned short) d;何时ca unsigned short和d是a unsigned int; 那什么意识?前16位d被分配给c

c int types short

10
推荐指数
1
解决办法
9万
查看次数

当printf的相应参数不是short/char时,使用h或hh长度修饰符是不合法的吗?

printf系列函数提供一系列长度改性剂,其中的两个是hh(表示一个signed charunsigned char参数升为int)和h(表示一个signed shortunsigned short参数升为int).从历史上看,这些长度修饰符仅用于创建长度修饰符的对称性,scanf很少用于printf.

以下是ISO 9899:2011§7.21.6.1"fprintf函数"7的摘录:

7长度修饰符及其含义是:

  • hh用于指定后续的d,i,o,u,x,或X转换说明适用于一个signed charunsigned char参数(该参数将被提升根据整数促销,但它的值应被转换成signed charunsigned char之前印刷); 或者以下n转换说明符适用于指向signed char参数的指针.

  • h用于指定后续的d,i,o,u,x,或X转换说明适用于一个short intunsigned short int …

c printf short undefined-behavior language-lawyer

9
推荐指数
1
解决办法
426
查看次数