我想将1到15的数字转换为4位二进制数

问题描述 投票:0回答:1

到目前为止,我已经获得此代码:

    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。我该怎么做?

谢谢

vb.net binary
1个回答
1
投票

这是我的处理方式:

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不放置前导零
© www.soinside.com 2019 - 2024. All rights reserved.