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
2094587

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.