左移位运算符的问题

marco08 2007-03-06 04:09:27
<< 在C#中是左移位运算符

在VB.NET中有左移位运算符吗?如果沒有如何实现按位左移的功能
...全文
704 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
marco08 2007-03-06
  • 打赏
  • 举报
回复
靠,原来是VS2002
viena 2007-03-06
  • 打赏
  • 举报
回复
那就是见鬼了,我用VS2003测试是没有问题的~
marco08 2007-03-06
  • 打赏
  • 举报
回复
VS2003企业版
viena 2007-03-06
  • 打赏
  • 举报
回复
你的IDE什么版本?
viena 2007-03-06
  • 打赏
  • 举报
回复
我测试没有问题
如下复制楼主代码到Page_Load里面
If Not Me.IsPostBack Then
Dim b As Byte = 1
Response.Write(Convert.ToInt32(b))
Response.Write("<br>")

b = b << 1
Response.Write(Convert.ToInt32(b))
End If

网页输出,第一行1,第二行2
mqmmx 2007-03-06
  • 打赏
  • 举报
回复
不行的话左移乘2的几次方,移多少次方多少,右移整除2的几次方


b = b<<1 可写成 b = b * Math.Pow(2, 1)就行了

marco08 2007-03-06
  • 打赏
  • 举报
回复
加到50分,请各位大大帮忙啊
marco08 2007-03-06
  • 打赏
  • 举报
回复
我是在ASP.NET中试的
marco08 2007-03-06
  • 打赏
  • 举报
回复
--ASP.NET中运行

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码

If Not Me.IsPostBack Then
Dim b As Byte = 1
Response.Write(Convert.ToInt32(b))
Response.Write("<br>")

b = b<<1
Response.Write(Convert.ToInt32(b))
End If

End Sub
magicbacon 2007-03-06
  • 打赏
  • 举报
回复
lz大人也不是新手啊。
viena 2007-03-06
  • 打赏
  • 举报
回复
你把整段代码粘贴过来看一下
viena 2007-03-06
  • 打赏
  • 举报
回复
b = b << 1
没有错吧
magicbacon 2007-03-06
  • 打赏
  • 举报
回复
不会吧,这都会报错?
真相重于对错 2007-03-06
  • 打赏
  • 举报
回复
Dim Pattern As Short = 192 ' Bit pattern is 0000 0000 1100 0000.
Dim Result1, Result2, Result3, Result4, Result5 As Short
Result1 = Pattern << 0 ' Result is 192 (0000 0000 1100 0000).
Result2 = Pattern << 4 ' Result is 3072 (0000 1100 0000 0000).
Result3 = Pattern << 9 ' Result is -32768 (1000 0000 0000 0000).
Result4 = Pattern << 17 ' Result is 384 (0000 0001 1000 0000).
Result5 = Pattern << -1 ' Result is 0 (shifted 15 places to left).
---------------msdn
marco08 2007-03-06
  • 打赏
  • 举报
回复
b = b << 1 '报错:需要表达式
magicbacon 2007-03-06
  • 打赏
  • 举报
回复
一样的.
magicbacon 2007-03-06
  • 打赏
  • 举报
回复
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim b As Byte = 1
MsgBox(Convert.ToInt32(b))
b = b << 1
MsgBox(Convert.ToInt32(b))
End Sub

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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