到目前为止,我已经获得此代码:
Dim Binary_representation As String
Dim random_number As Integer
Dim lower As Integer = 1
Dim upper As Integer = 15
Randomize()
random_number = CInt(Math.Floor((upper - lower + 1) * Rnd())) + lower
BinaryNumber.Text = random_number
Binary_representation = Convert.ToString(random_number, 2)
BinaryNumber2.Text = Binary_representation
[很好,并将数字转换为二进制,但是例如当随机数生成3时,它将把数字转换为2位二进制数,例如,当随机数为0时,有关如何获取0011而不是11的任何想法3.
[有一个想法,在前面加0时,只有1个字符时,再加上3 0、2个字符,2 0和3个字符10。我该怎么做?
谢谢
这是我的处理方式:
Dim r as New Random()
BinaryNumber2.Text = Convert.ToString(r.Next(1,16), 2).PadLeft(4, "0"c)
是的;只有两行。如果需要,可以将其切成一个:
BinaryNumber2.Text = Convert.ToString(New Random().Next(1,16), 2).PadLeft(4, "0"c)
这里的操作是:
Convert.ToString(number, toBase)
-仅作为toBase的有限用途,必须为2、8、10或16,但对此有效”]New Random().Next(1, 16)
-创建一个新的随机数生成器,从系统时钟开始,然后调用Next返回一个介于1和“小于16”之间的数字,即15。它的运行速度如此之快,以至于数百个新随机数将获得相同的种子值时间并产生相同的数字。在循环外创建一个随机实例,然后在循环内调用Next]PadLeft(4, '0')
-因为Convert.ToString不放置前导零