Mon besoin est - avoir un certain nombre aléatoire (en fait pseudo) de uint32
, j'ai besoin de ses 4 premiers bits indiquant avec le premier bit, qui dans non 0, par exemple.C# obtenir 4 bits supérieurs de uint32 en commençant par le premier bit significatif
000100101 ... => 1001
1000 ... 0001 => 1000
... 0001 => 0001
... 0000 => 0000
etc Je comprends que je dois utiliser quelque chose comme ça
uint num = 1157 (some random number)
uint high = num >> offset
Le problème est - je ne sais pas où le premier bit est donc je ne peux pas utiliser >>
avec variable constante. Quelqu'un peut-il expliquer comment trouver ce offset
?
Est-il garanti qu'il y a un tel peu. Que devrait-il se passer dans le cas de «0000» ou «0010»? –