Compress UInt : int « Data Types « C# / C Sharp






Compress UInt

  

using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;


public static class Utility
{
    public static byte[] CompressUInt(uint data)
    {
        if (data <= 0x7F)
        {
            var bytes = new byte[1];
            bytes[0] = (byte)data;
            return bytes;
        }
        else if (data <= 0x3FFF)
        {
            var bytes = new byte[2];
            bytes[0] = (byte)(((data & 0xFF00) >> 8) | 0x80);
            bytes[1] = (byte)(data & 0x00FF);
            return bytes;
        }
        else if (data <= 0x1FFFFFFF)
        {
            var bytes = new byte[4];
            bytes[0] = (byte)(((data & 0xFF000000) >> 24) | 0xC0);
            bytes[1] = (byte)((data & 0x00FF0000) >> 16);
            bytes[2] = (byte)((data & 0x0000FF00) >> 8);
            bytes[3] = (byte)(data & 0x000000FF);
            return bytes;
        }
        else
            throw new NotSupportedException();
    }
}

   
    
  








Related examples in the same category

1.Assign value to int variable
2.Call methods from primitive data types
3.Calculating the product of three integers.
4.Comparing integers using if statements, equality operators, and relational operators.
5.demonstrates variablesdemonstrates variables
6.Assing value to int valueAssing value to int value
7.Calculate: int and doubleCalculate: int and double
8.Size of int, double, char and boolSize of int, double, char and bool
9.displays a conversion table of Fahrenheit to Celsiusdisplays a conversion  
   table of Fahrenheit to Celsius
10.Some Operator on int
11.Using Integers
12.Using Variables
13.Convert string value to integer by using the int.TryParse
14.Use CultureInfo int ToString method
15.Integer OverFlow
16.Catch OverflowException Exception
17.Do calculation with int variable
18.Format int in Console.WriteLine
19.Use CultureInfo in int.ToString method
20.Use #, % and in int format
21.int based Fahrenheit and Celsius (Centigrade) Scales
22.int array property
23.Parse int value
24.The precision specifier controls the number of significant digits or zeros to the right of a decimal:
25.Int value To Hex char
26.Get the digit-length of an int value
27.Max/Min for int and double values
28.Read sync safe int 32
29.Write Synch safe Int32
30.Calculate average for a list of integer values with params int[] values
31.Int extension Convert integer to boolean, is it even, is it positive
32.Converts an integer into a roman numeral.
33.Get Ordinal
34.Output with x8 format
35.Int32.MaxValue and Int32.MinValue
36.Convert Bytes To UInt
37.Decompress UInt
38.Write Compressed UInt32
39.Read Compressed UInt32
40.Compress Int
41.Is even