请教字符串的位操作问题(急急急)

iceblockchina 2006-04-26 10:45:17
定义如下的两个字符串:
string str1 = "0011010001";
string str2 = "1001100100";
想将这两个字符串的对应位进行二进制的位操作,查了文档说只有整型或可以转换为整型的可以进行位运算,那么以上两个字符串是否可以转换为无符号的整型数再进行位运算?如果字符串的长度很长(比如长度为5000或者更长),但每一位都是0或1,有没有可以直接对这两个字符串进行位运算的方法?请侠们帮忙啊:)
...全文
153 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
iceblockchina 2006-04-27
  • 打赏
  • 举报
回复
帮忙项起来啊!就是怎样将一个不是0就是1的字符串(如"0011010001")做为一个二进制串来操作,大侠们帮忙啊!!!!!
iceblockchina 2006-04-26
  • 打赏
  • 举报
回复
多谢soaringbird() 提供了一种思路!C#中String是引用类型的,是不就是说str1代表了字符串"0011010001"的内存地址呢?如果是,那是不就可以声明个BitArray类型的变量,然后将str1赋给它,用位数组类型的来进行操作呢?
soaringbird 2006-04-26
  • 打赏
  • 举报
回复
取8个字符长的子串转换为整形按位操作,再如此循环,但这样会因为取子串和转换而带来性能损失,也许还不及直接大循环块呢。
iceblockchina 2006-04-26
  • 打赏
  • 举报
回复
长度小循环是可以的,但长度很长情况下性能会受影响。长度太长了转换为整型会超出计算机整型数的表示范围吧!兄弟帮忙啊!!!
RexZheng 2006-04-26
  • 打赏
  • 举报
回复
string to int
Convert.ToInt32();
soaringbird 2006-04-26
  • 打赏
  • 举报
回复
循环吧
RUN_ 2006-04-26
  • 打赏
  • 举报
回复
关注
Knight94 2006-04-26
  • 打赏
  • 举报
回复
自己去做截串处理不就行了,例如:
string strData = yourString.SubString( 2 );// Move left 2 chars
string strData = yourString.SubString( 0, yourString.Length - 2 );// Move right 2 chars

至于不起什么字符串,用字符串+来操作。
soaringbird 2006-04-26
  • 打赏
  • 举报
回复
那不行,‘0’和一个bit的0是不一样的。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧