算法01
来源:互联网 发布:淘宝少发了一件怎么办 编辑:程序博客网 时间:2024/05/18 03:40
/** * 将数组s中的内容复制到数组d中,从from开始复制,from+i结束,发如果s数组长度不够,则补零 * * @param d * @param s * @param from * @param i */public static void byteFirstCopy(byte d[], byte s[], int from, int i) {int j;for (j = 0; j < i; j++) {if (j < s.length) {d[j + from] = s[j];} else {d[j + from] = (byte) 0;}}}
/** * 将数组s中从from开始的maxlen个元素复制到数组d中,以0结束 * * @param d * @param s * @param from * @param maxlen * @return */public static int arrayCopy(byte d[], byte s[], int from, int maxlen) {int i;for (i = 0; i < maxlen; i++)d[i + from] = s[i];return i;}
/** * 将整数转换为4个字节长度的数组 * * @param longValue * @param arrayLen * 字节数组长度 * @return */public static byte[] long2Byte(long intValue) {byte[] b = new byte[4];int mark = 0xFF;//11111111for (int i = 0; i < 4; i++) {b[i] = (byte) (intValue >>> 8 * (3 - i) & mark);}return b;}
/** * 将整数转换成大小指定为arrayLen的字节数组,请注意value与arrayLen之间的关系,其是否存在越界。 * * 请检查value的最大值为2的arrayLen*8次方减一, * * 例如:arrayLen = 1;maxValue = 2^1*8-1=255; * * @param value * 整数值 * @param arrayLen * 数组长度 * @return 该整形所对应的字节数组 */public static byte[] long2Byte(long value, int arrayLen) {byte[] bytes = new byte[arrayLen];if (arrayLen < 4) {for (int i = 0; i < arrayLen; i++) {bytes[i] = (byte) (value >>> 8 * (arrayLen - i - 1) & 0xFF);}return bytes;}byte[] temp = CmppTool.long2Byte(value);CmppTool.byteFirstCopy(bytes, temp, arrayLen - temp.length, temp.length);return bytes;}
/** * 将字节数组转化成整数 * * @param b * 字节数组 * @return 字节数组所对应的整数 */public static long byte2Long(byte[] b) {long longValue = 0, mark = 0xFF;byte[] temp;int multiple = 0;if (b.length % 4 != 0) {multiple = b.length / 4 + 1;temp = new byte[4 * multiple];if (b.length > 4) {for (int i = 1; i < b.length; i++) {temp[4 * multiple - i] = b[b.length - i];}} else {for (int i = 0; i < b.length; i++) {longValue += (b[i] & mark) << (8 * (b.length - i - 1));}return longValue;}} else {temp = b;}for (int i = 0; i < temp.length; i++) {longValue += (temp[i] & mark) << (8 * (7 - i));}return longValue;}
0 0
- 算法01
- 实用算法(基础算法-递推法-01)
- 算法01:全排列递归算法
- 【算法——01】A*算法
- 算法导论笔记:01算法概述
- 七月算法--算法基础班01摘要
- Java常用算法手册-01算法概述
- 面试-算法01
- 01全排列算法
- 算法导论01
- 01-算法分析开始
- 算法杂谈--01背包
- Java 算法题-01
- 01算法概论
- [算法]01背包问题
- 01背包-近似算法
- 每日算法01
- 泛型算法01
- Codeforces Div. 2 #256-A. Rewards
- bash操作svn一次提交多个文件
- long(Long)与int(Integer)之间的转换
- 云存储是否会致信息泄露?
- Android Gradle Plugin指南(六)——高级构建定制
- 算法01
- 同步/异步与阻塞/非阻塞的区别
- poj 1458 Common Sequence--动态规划
- Javascript 检测键盘按键信息及键码值对应介绍
- 最优乘车
- 浅析 Android操作HTTP
- ref和out的区别
- linux mtu 自动检测配置脚本(解决inode拨号上网问题)
- Codeforces Div. 2 #256-B. Suffix Structures