Buscador Felox

Búsqueda personalizada

23 dic 2009

Cómo: Optimizar el almacenamiento de enteros positivos con tipos sin signo en Visual Basic.NET


i tiene una variable que contiene sólo valores positivos (o 0) y estos valores nunca superan 4.294.967,295, puede declarar la variable como UInteger en lugar de Long.
La ventaja de utilizar UInteger es que los tipos Integer y UInteger enteros de 32 bits son los tipos de datos más eficaces en plataformas de 32 bits, y proporcionan un rendimiento óptimo para su aplicación.
Puede utilizar una variable Integer si sus valores positivos nunca superan 2.147.483,647.

Para declarar un entero con sólo valores positivos

  • Declare la variable como As UInteger. Esto se ilustra en el siguiente ejemplo:
    Public Function memoryRequired(ByVal m As UInteger) As UInteger
        Static r As UInteger = 0
        Try
            r += m
        Catch eo As System.OverflowException
            r = 0
        Catch ex As System.Exception
            MsgBox("Incrementing required memory causes """ & ex.Message & """")
        End Try
        Return r
    End Function
    Puede probar la función memoryRequired con el código siguiente:
    Public Sub consumeMemoryRequired()
        Dim m1 As UInteger = UInteger.MaxValue - 100
        Dim m2 As UInteger = 100
        MsgBox("Max = " & CStr(UInteger.MaxValue) & vbCrLf & _
            CStr(m1) & " -> " & CStr(memoryRequired(m1)) & vbCrLf & _
            "+ " & CStr(m2) & " -> " & CStr(memoryRequired(m2)) _
            & vbCrLf & "+ 1 -> " & CStr(memoryRequired(1)))
    End Sub

No hay comentarios:

Publicar un comentario