Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Mong mọi người giúp em.Viết chương Trình chuyển hệ cơ số 8 sang hệ cơ số 10

19:44 02-02-2018 836 lượt xem 3 bình luận 14:22 06-02-2018

MỌI NGƯỜI GIÚP EM LÀM BÀI NÀY VỚI EM RẤT CẦN LUN MONG CÁC PRO CHÚ Ý Ạ. VIẾT BẰNG NGÔN NGỮ C NHA LÀM BẰNG MẤY CÁI THƯ VIỆN STDIO.H,CONIO.H,MATH.H NHA TẠI EM MỚI HỌC CHỈ HỌC DC MẤY CÁI ĐÓ THÔI Ạ MONG CÁC PRO CHỈ Ạ.

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
C# learner đã bình luận 14:22 06-02-2018

Của bạn nè nhưng từ sau đặt câu hỏi cho dễ nghe tí không bị nói đó :)


Hãy Vote Up cho nhưng câu trả lời hữu ích nha

Đề ý ở đây này

ày

//Cách này là cách chia. Tìm ở WikiHow Source: https://www.wikihow.com/Convert-from-Decimal-to-Octal
        private int Convert(double input)
        {
            int result = 0;
            //Bước 1 (Bước 3 trên WikiHow): Tìm số mũ cao nhất, Không lấy quá số gốc
            int maxDigit = 0;
            for (int i = 0; Math.Pow(8, i) < input; i++)
            {
                maxDigit = i;
            }
            //Bước 2: Tìm từng số 1
            int SoDu = (int)input; //Cái này mỗi khi vòng lập xong 1 lần lặp sẽ viết ra số dư
            for (int i = maxDigit; i >= 0; i--)
            {
                //Bước 2.1 (Bước 5 trên WikiHow): Tìm số dư
                double j = Math.Pow(8, i);
                //Bước 2.2 (Bước 4,6 trên WikiHow): Tìm số (digit) theo i
                double digit = ((SoDu - (input % j)) / j) * (Math.Pow(10, i));
                //Bước 2.3 Bước cuối trên WikiHow): Trả kết quả
                result += (int)digit;

                SoDu = (int)(input % j);

            }
            return result;
        }

Còn đây là full program, nếu thích cứ lấy mà sài

Program.xaml

<Window x:Name="Main"
        x:Class="TestWPF.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:TestWPF"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="600">
    <Grid Margin="0,0,0,3">
        <TextBlock Text="Convert From Dec to Oct!" FontSize="48" VerticalAlignment="Top"></TextBlock>
        <TextBlock Text="Viết Dec vào đây!" VerticalAlignment="Top" Margin="0,50,0,0" FontSize="24"></TextBlock>
        <TextBox x:Name="txbInput" Height="30" Width="Auto" FontSize="24" VerticalAlignment="Top" Margin="0,100,0,0"></TextBox>
        <Button Content="Convert" VerticalAlignment="Center" FontSize="24" Click="Button_Click_1"></Button>
        <TextBox x:Name="txbOutput" Height="30" Width="Auto" FontSize="24" VerticalAlignment="Top" Margin="0,200,0,0" IsReadOnly="True"></TextBox>
    </Grid>
</Window>

Program.xaml.cs

using System;
using System.Windows;
namespace TestWPF
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            int i;
            if(!int.TryParse(txbInput.Text, out i))
            {
                MessageBox.Show("Vui Lòng nhập đúng giá trị!");
                return;
            }

            txbOutput.Text = Convert(i).ToString();

        }
        //Cách này là cách chia. Tìm ở WikiHow Source: https://www.wikihow.com/Convert-from-Decimal-to-Octal
        private int Convert(double input)
        {
            int result = 0;
            //Bước 1 (Bước 3 trên WikiHow): Tìm số mũ cao nhất, Không lấy quá số gốc
            int maxDigit = 0;
            for (int i = 0; Math.Pow(8, i) < input; i++)
            {
                maxDigit = i;
            }
            //Bước 2: Tìm từng số 1
            int SoDu = (int)input; //Cái này mỗi khi vòng lập xong 1 lần lặp sẽ viết ra số dư
            for (int i = maxDigit; i >= 0; i--)
            {
                //Bước 2.1 (Bước 5 trên WikiHow): Tìm số dư
                double j = Math.Pow(8, i);
                //Bước 2.2 (Bước 4,6 trên WikiHow): Tìm số (digit) theo i
                double digit = ((SoDu - (input % j)) / j) * (Math.Pow(10, i));
                //Bước 2.3 Bước cuối trên WikiHow): Trả kết quả
                result += (int)digit;

                SoDu = (int)(input % j);

            }
            return result;
        }
    }
}

 

Võ Trường Phúc đã bình luận 08:10 03-02-2018

Xem bài viết này để biết cách chuyển từ thập phân sang bát phân và ngược lại... Rồi sau đó áp dụng theo và code thôi.

https://cauvonghoala.blogspot.com/2015/03/caccach-chuyen-oi-giua-cac-he-co-so.html

Nguyễn Thái Hải đã bình luận 20:05 02-02-2018

bạn tìm hiểu cơ chế rồi rồi chuyển chứ bạn nói thế này,bắt người khác viết thì chẳng ai viết đâu, mà bản chất cái này lên google cũng có code sẵn nha bạn

Câu hỏi mới nhất