C# :: Aufgabe #189 :: Lösung #3

9 Lösungen Lösungen öffentlich
#189

Zahlen umwandeln: Binär zu Dezimal

Anfänger - C# von Nachbar - 13.09.2017 um 14:19 Uhr
Schreibe eine Funktion, die Zahlen aus dem Dualsystem in Zahlen des Dezimalsystems umwandelt.

Beispiel:

Binär: 11010
Dezimal: 26
#3
vote_ok
von Layn (100 Punkte) - 20.09.2017 um 13:49 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace DualDezimaWandler
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
       
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            var bin = Convert.ToString(tb1.Text);
            
            
            
            
                int Stringlänge = bin.Length;
                int Rückgabe = 0;
                if (!System.Text.RegularExpressions.Regex.IsMatch(bin, "[01]{" + Stringlänge + "}") || Stringlänge > 31)
                    throw new Exception("Ungültige Zeichenfolge");
                else
                    for (int i = 0; i < Stringlänge; i++){
                        if (bin[i] == '1')
                            Rückgabe += (int)Math.Pow(2, Stringlänge - 1 - i);
            }
            tb2.Text = Convert.ToString(Rückgabe);

        }

        
    }
}




Quellcode ausblenden XML-Code
<Window x:Class="DualDezimaWandler.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="21*"/>
            <ColumnDefinition Width="165*"/>
            <ColumnDefinition Width="310*"/>
            <ColumnDefinition Width="21*"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="47*"/>
            <RowDefinition Height="31*"/>
            <RowDefinition Height="30*"/>
            <RowDefinition Height="30*"/>
            <RowDefinition Height="24*"/>
            <RowDefinition Height="39*"/>
            <RowDefinition Height="119*"/>
        </Grid.RowDefinitions>
        <TextBox x:Name="tb1" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="2"></TextBox>
        <TextBox x:Name="tb2" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="2"></TextBox>
        <Button Grid.Column="1" Grid.Row="5" Click="Button_Click">Umrechnen</Button>
    </Grid>
</Window>

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben