java - 不使用除法运算符将数组一分为二

标签 java arrays

我想知道是否有一种方法可以在不使用除法运算符的情况下将数组一分为二?对于我正在执行的任务,我不能使用/或 double 。我知道数组的大小,并且我知道我可以将两个子数组的大小设置为原始数组的一半,但我只是想知道是否有一种无需对其进行硬编码的方法。谢谢。

最佳答案

假设你想在不使用除法运算符的情况下找到数组的中间索引,并且你通过“use/or double”意味着你不能使用浮点值(因此乘以 0.5 是不可能的)。

您可以查看bit-shift运营商。一个例子:

int[] myArray = new int[128];
int middleIndex = myArray.length >> 1; // middleIndex is now 64
middleIndex = middleIndex >> 1;        // 32

将整数的位向右移动一位相当于除以二。

关于java - 不使用除法运算符将数组一分为二,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28519913/

相关文章:

php - 制作所有 GET 变量的数组

java - 限制数字之间有小数

java - 如何获取XML文本节点的TagName和TextContent?

java - 在android中连接Https Socket时出错

java - 遍历整个标签

Java - 用逗号分割字符串数组

javascript - 将 n 个数组连接成一个数组

java拉绳直接图片

java 在类周围添加括号,同时存储对按钮的引用

arrays - 数组复制在 Swift 中显示 0 1 而不是 true false