Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,914 questions

51,847 answers

573 users

How to extract N bits from a given position in a number with VB.NET

2 Answers

0 votes
Imports System
 
Public Class myProgram
    Private Shared Function extract_bits(ByVal number As Integer, ByVal N As Integer, ByVal pos As Integer) As Integer
        Return (((1 << N) - 1) AND (number >> (pos - 1)))
    End Function
 
    Public Shared Sub Main()
        Dim number As Integer = 441
        Dim N As Integer = 6
        Dim pos As Integer = 5
         
        Console.WriteLine(Convert.ToString(number, 2).PadLeft(16, "0"c))
         
        Dim extracted_bits As Integer = extract_bits(number, N, pos)
         
        Console.WriteLine(Convert.ToString(extracted_bits, 2).PadLeft(16, "0"c))
    End Sub
End Class
 
 
 
' run:
'
' 0000000110111001
' 0000000000011011
'

 



answered Dec 22, 2023 by avibootz
edited Dec 22, 2023 by avibootz
0 votes
Imports System

Public Class myProgram
    Private Shared Function extract_bits(ByVal number As Integer, ByVal N As Integer, ByVal pos As Integer) As Integer
		Return (CInt(2 ^ N - 1) And (number >> (pos - 1)))
    End Function

    Public Shared Sub Main()
        Dim number As Integer = 441
        Dim N As Integer = 6
        Dim pos As Integer = 5
		
        Console.WriteLine(Convert.ToString(number, 2).PadLeft(16, "0"c))
		
        Dim extracted_bits As Integer = extract_bits(number, N, pos)
		
        Console.WriteLine(Convert.ToString(extracted_bits, 2).PadLeft(16, "0"c))
    End Sub
End Class



' run:
'
' 0000000110111001
' 0000000000011011
'

 



answered Dec 22, 2023 by avibootz

Related questions

...