using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;namespace WindowsApplication8
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent(); BitArray BA = new BitArray(new byte[] { (byte)'A', (byte)'B', (byte)'C' });
byte[] BS = new byte[BA.Count];
BA.CopyTo(BS, 0);
MessageBox.Show(Encoding.Default.GetString(BS));
Shr(ref BA);
BA.CopyTo(BS, 0);
MessageBox.Show(Encoding.Default.GetString(BS));
Shl(ref BA);
BA.CopyTo(BS, 0);
MessageBox.Show(Encoding.Default.GetString(BS));
} void Shr(ref BitArray BA)
{
for (int i = BA.Count - 1; i > 0; i--)
BA[i] = BA[i - 1];
BA[0] = false;
} void Shl(ref BitArray BA)
{
for (int i = 0; i < BA.Count - 2; i++)
BA[i] = BA[i + 1];
// 左移最后第二位等于最后一位,所以最后一个字符不是C
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;namespace WindowsApplication8
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent(); BitArray BA = new BitArray(new byte[] { (byte)'A', (byte)'B', (byte)'C' });
byte[] BS = new byte[BA.Count];
BA.CopyTo(BS, 0);
MessageBox.Show(Encoding.Default.GetString(BS));
Shr(ref BA);
BA.CopyTo(BS, 0);
MessageBox.Show(Encoding.Default.GetString(BS));
Shl(ref BA);
BA.CopyTo(BS, 0);
MessageBox.Show(Encoding.Default.GetString(BS));
} void Shr(ref BitArray BA)
{
for (int i = BA.Count - 1; i > 0; i--)
BA[i] = BA[i - 1];
BA[0] = false;
} void Shl(ref BitArray BA)
{
for (int i = 0; i < BA.Count - 2; i++)
BA[i] = BA[i + 1];
// 左移最后第二位等于最后一位,所以最后一个字符不是C
}
}
}
解决方案 »
- 新手问题:函数中使用了foreach还没运行完直接return有没有坏处?
- sql如何判断一个非null的空值
- winform登陆窗口点击复选框记录密码
- 如何用set get方法给属性赋值
- 求助,生成PDF的问题
- 在WinForm中,在DataGrid中如何取得當鼠標移動時的所在行號
- 一个关于文件操作的问题!!(在线)
- C#调用kernel32.dll中的GetShortPathName获取短文件名得到空字符串
- datagrid显示数据时如何能够分类汇总,象报表哪样?
- 在C#中如何实现打印发票?
- c#winForm动态创建文件夹访问被拒绝
- C#中<% %>里怎么嵌套<%Eval("绑定字段")%>
要高效移位,應該先轉成int形態再操作。堅持要這樣搞的話,就自己動手
但效能就是打折扣就是(與原生的int相比的話話
找到了一个早先的实现代码,看样子效率比BitArray放心些。
http://www.koders.com/csharp/fid2F10AC8F6BCEEAB6DF20596BE5A60356DF32B1D9.aspx
移位部分需要自己实现了。