将二进制数组转为int型数值 将int型数值转为二进制数组

public class Convert {
	/**
	 * 将int型数值转为二进制数组
	 * 方法说明:<br/>
	 * 创建时间:2012-7-16<br/>
	 * 修改时间:2012-01-01	 修改人:user   修改备注:原因及思路   <br/>
	 * 注意 :下列参数也须注释<br/>
	 * @param from
	 * @param len
	 * @return<br/>
	 */
	public static byte[] intToBin( int from, int len )
	{
		byte[] to = new byte[len];
		int max = len;	
		for( int i_move = max - 1, i_to = 0; i_move >= 0; i_move--, i_to++ )
		{
			to[i_to] = (byte)( from >> ( 8 * i_move ) );
		}
		return to;
	}
	
	/**
	 * 将二进制数组转为int型数值
	 * 方法说明:<br/>
	 * 创建时间:2012-7-16<br/>
	 * 修改时间:2012-01-01	 修改人:user   修改备注:原因及思路   <br/>
	 * 注意 :下列参数也须注释<br/>
	 * @param from
	 * @param offset
	 * @param len
	 * @return<br/>
	 */
	public static int binToInt( byte[] from, int offset, int len )
	{
		int to = 0;
		int min = offset;
		to = 0;	
		for( int i_move = len - 1, i_from = min; i_move >= 0; i_move--, i_from++ )
		{
			to = to << 8 | ( from[i_from] & 0xff );
		}
		return to;
	}
	public static void main(String[] args) {
		byte[] byt=intToBin("信贷的人儿".getBytes().length,4);
		System.out.println(byt);
		int byt1=binToInt(byt,0,4);
		System.out.println(byt1);
	}
}

 

C#中,如果你想将8位16进制数组转换为32位二进制数组,你需要先理解16进制和二进制之间的关系。每个16进制的数字可以转换为4位的二进制数,因为16进制是基于16的数制,而二进制是基于2的数制。在16进制中,每一位可以表示的值范围是0-15,正好可以用4位二进制(0000-1111)来表示。 以下是如何在C#中进行转换的步骤: 1. 遍历8位16进制数组中的每一个元素。 2. 对于每一个16进制元素,将其转换为对应的4位二进制字符串。 3. 将所有的4位二进制字符串合并为一个32位的二进制字符串。 4. 如果需要数组形式,可以将最终的二进制字符串转换为二进制数组。 下面是一个简单的示例代码,演示如何实现上述步骤: ```csharp using System; public class HexToBinary { public static void Main() { char[] hexArray = {'1', 'A', '3', 'F', '0', '9', 'D', 'E'}; string binaryString = ConvertHexToBinaryString(hexArray); // 打印转换后的二进制字符串,这里可以进一步处理转换为二进制数组 Console.WriteLine(binaryString); } public static string ConvertHexToBinaryString(char[] hexArray) { string binaryString = ""; foreach (char hexChar in hexArray) { // 将每个16进制字符转换为4位二进制字符串 binaryString += Convert.ToString(Convert.ToInt32(hexChar.ToString(), 16), 2).PadLeft(4, '0'); } return binaryString; } } ``` 在上述代码中,`ConvertHexToBinaryString`方法接收一个16进制字符数组,并返回一个二进制字符串。每个16进制字符转换为对应的4位二进制字符串,并使用`PadLeft`方法确保每个二进制字符串长度为4。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值