Convert Decimal Number to Octal Number in Windows Store App

Introduction

My previous article explained how to convert a number expressed as an octal number into a number expressed as a decimal number. This article shows how to do the reverse (decimal to octal). So let us first understand the conversion.

Octal Number: A number expressed using the base 8 number system with digits 0 to 7.

Decimal Number: A number expressed using the base 10 number system with digits 0 to 9.

Conversion Example: suppose you want to convert the number 500 expressed as a decimal to a number expressed as an octal number. Then use the following procedure.

Step 1: 500/8 Then the remainder=4, Quotient=62
Step 2: 62/8 Then the remainder=6, Quotient=7
Step 3: 7/8  Then  the remainder=7, Quotient=0

Hence the equivalent octal number = 764.

Use the following procedure to create it.

Step 1

First of all you must create a new Windows Store Application.
Open Visual Studio 2012
"File" -> "New" -> "Project..."
Choose "Template" -> "Visual C#" -> "Window Store app"
Choose "Blank App (XAML)" then rename the application

new-windows-store-app.jpg

Step 2

Write the following XAML code in "Mainpage.Xaml" (that is available in Solution Explorer):

<Page

    x:Class="deimal_to_octal_conversion_app.MainPage"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    xmlns:local="using:deimal_to_octal_conversion_app"

    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

    mc:Ignorable="d">

 

    <Grid Background="red">

        <Grid.ColumnDefinitions>

            <ColumnDefinition Width="313*"/>

            <ColumnDefinition Width="254*"/>

            <ColumnDefinition Width="788*"/>

        </Grid.ColumnDefinitions>

        <Grid.RowDefinitions>

            <RowDefinition Height="78*"/>

            <RowDefinition Height="49*"/>

            <RowDefinition Height="37*"/>

            <RowDefinition Height="40*"/>

            <RowDefinition Height="39*"/>

            <RowDefinition Height="525*"/>

        </Grid.RowDefinitions>

        <TextBlock Text="Decimal to Octal Converter app" Grid.ColumnSpan="3" Grid.Row="1" Foreground="White" FontSize="20" FontFamily="Arial" TextAlignment="Center"></TextBlock>

        <TextBlock Text="Enter Decimal Number :" FontFamily="Arial" FontSize="15" Foreground="White" Grid.Column="1" Grid.Row="2" Grid.RowSpan="4"></TextBlock>

        <TextBox x:Name="textbox1" Grid.Column="2" Grid.Row="2" Width="200" HorizontalAlignment="Left" Height="20" VerticalAlignment="Top" />

        <TextBlock Text="Eqivalent Octal Number " FontSize="15" Foreground="White" Grid.Column="1" Grid.Row="3"></TextBlock>

        <TextBlock x:Name="text1" FontSize="15" Foreground="White" Grid.Column="2" Grid.Row="3" Width="200" HorizontalAlignment="Left" ></TextBlock>

        <Button x:Name="button1" Grid.Column="2" Grid.Row="4" Background="Yellow" Foreground="Black" Width="150" Content="Click" Click="button1_Click"></Button>

 

    </Grid>

</Page>
 

Step 3

Now write the following C# code for the button within "Mainpage.Xaml.cs".

using System;

using System.Collections.Generic;

using System.IO;

using System.Linq;

using Windows.Foundation;

using Windows.Foundation.Collections;

using Windows.UI.Xaml;

using Windows.UI.Xaml.Controls;

using Windows.UI.Xaml.Controls.Primitives;

using Windows.UI.Xaml.Data;

using Windows.UI.Xaml.Input;

using Windows.UI.Xaml.Media;

using Windows.UI.Xaml.Navigation;

 

namespace deimal_to_octal_conversion_app

{

    public sealed partial class MainPage : Page

    {

        public MainPage()

        {

            this.InitializeComponent();

        }

        protected override void OnNavigatedTo(NavigationEventArgs e)

        {

        }

        private void button1_Click(object sender, RoutedEventArgs e)

        {

            int decnum = 0,i=0;

            int[] octnum = new int[25];

            decnum = int.Parse(textbox1.Text);

            while (decnum != 0)

            {

                octnum[i++] = decnum % 8;

                decnum = decnum / 8;

            }

            for (int j = i-1; j >= 0; j--)

            {

                text1.Text += octnum[j].ToString();

            }

        }

    }

}

 

Step 4

Now Run your App.

output-of-octal-app.jpg