`

十进制数转换为二进制,八进制,十六进制数的算法

阅读更多

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace ExDtoB
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}


//十进制转二制
public string DtoB(int d)
{
string b = "";
//判断该数如果小于2,则直接输出
if (d < 2)
{
b = d.ToString();
}
else
{
int c;
int s = 0;
int n = d;
while (n >= 2)
{
s++;
n = n / 2;
}
int[] m = new int[s];
int i = 0;
do
{
c = d / 2;
m[i++] = d % 2;
d = c;
} while (c >= 2);
b = d.ToString();
for (int j = m.Length - 1; j >=0; j--)
{
b += m[j].ToString ();
}
}
return b;
}


//十进制转八进制
public string DtoO(int d)
{
string o = "";
if (d < 8)
{
o = d.ToString();
}
else
{
int c;

int s=0;
int n=d;
int temp = d;
while (n >= 8)
{
s++;
n = n / 8;
}
int[] m = new int[s];
int i = 0;
do
{
c = d / 8;
m[i++] = d % 8;
d = c;
} while (c >= 8);
o = d.ToString();
for (int j = m.Length - 1; j >= 0; j--)
{
o += m[j];
}
}
return o;
}


//十进制转十六进制
public string DtoX(int d)
{
string x = "";
if (d < 16)
{
x = chang(d);
}
else
{
int c;

int s = 0;
int n = d;
int temp = d;
while (n >= 16)
{
s++;
n = n / 16;
}
string [] m = new string[s];
int i = 0;
do
{
c = d / 16;
m[i++] = chang(d % 16);//判断是否大于10,如果大于10,则转换为A~F的格式
d = c;
} while (c >= 16);
x = chang(d);
for (int j = m.Length - 1; j >= 0; j--)
{
x += m[j];
}
}
return x;
}


//判断是否为10~15之间的数,如果是则进行转换
public string chang(int d)
{
string x = "";
switch (d)
{
case 10:
x = "A";
break;
case 11:
x = "B";
break;
case 12:
x = "C";
break;
case 13:
x = "D";
break;
case 14:
x = "E";
break;
case 15:
x = "F";
break;
default:
x = d.ToString();
break;
}
return x;
}

private void button1_Click(object sender, EventArgs e)
{
textBox2.Text = DtoB(Convert.ToInt32(textBox1.Text));//十转二进制
}

private void button2_Click(object sender, EventArgs e)
{
textBox2.Text = DtoO(Convert.ToInt32(textBox1.Text));//十转八进制
}

private void button3_Click(object sender, EventArgs e)
{
textBox2.Text = DtoX(Convert.ToInt32(textBox1.Text));//十转十六进制
}
}
}

分享到:
评论

相关推荐

    十进制数转换为二进制,八进制,十六进制数

    用数据结构栈实现的数制转换,将十进制数转换为二进制,八进制,十六进制。

    二进制八进制十进制十六进制之间的转换算法.pdf

    "二进制八进制十进制十六进制之间的转换算法" 本文主要讲解了二进制、八进制、十进制、十六进制之间的转换算法。包括十进制与二进制之间的转换、八进制与二进制之间的转换、十六进制与二进制之间的转换等。 十进制...

    java_十进制数转换为二进制,八进制,十六进制数的算法

    在Java编程语言中,将十进制数转换为二进制、八进制或十六进制是常见的数据处理任务,尤其是在计算机科学与信息技术领域。本文将深入探讨如何使用Java实现这些转换,包括算法原理和具体代码实现。 ### 十进制转二...

    C_实现二、八、十六进制数转十进制数的算法

    根据给定的文件信息,我们将深入探讨如何在C语言中实现二进制、八进制以及十六进制数转换为十进制数的算法,并将其封装到一个实用的函数中。 ### C语言实现多进制转十进制的算法 #### 1. 理解进制转换的基本原理 ...

    进制转换算法原理(二进制 八进制 十进制 十六进制).docx

    例如,将一个十进制数转换为二进制数,或者将一个十六进制数转换为八进制数。 二、进制转换的分类 进制转换可以分为四种: 1. 二进制数转换为十进制数 2. 八进制数转换为十进制数 3. 十六进制数转换为十进制数 4....

    十进制转二进制的方法

    十进制数转二进制数、八进制数、十六进制数的方法是相同的,即整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数部分拼接成一个数作为转换的最后结果。 例如,要将 16 转换成二进制数,可以...

    C语言-顺序栈实现十进制转换为二进制-八进制-十六进制

    ### C语言顺序栈实现十进制到二进制、八进制、十六进制的转换 #### 一、概述 本篇文章将详细介绍如何使用C语言中的顺序栈来实现十进制数字向二进制、八进制以及十六进制的转换。通过分析给出的代码示例,我们将...

    设计算法把一个十进制整数转换为二至九进制之间的任意进制数输出

    在计算机科学中,将一个十进制整数转换为其他任意进制(如二进制、八进制、十六进制或介于二至九之间的任何其他进制)是常见的编程任务。这种转换通常用于数据表示、计算以及理解计算机内部工作原理。下面我们将详细...

    c#智能进制转换器 十进制数字转换为二进制 ,八进制,十六进制

    在C#编程中,开发一个智能进制转换器可以让我们轻松地将十进制数字转换为二进制、八进制和十六进制。这个任务要求我们实现自定义的算法,而不是依赖内置的函数或库,以确保程序的通用性和不受数字范围限制。 首先,...

    二进制_八进制_十进制_十六进制之间的转换算法

    八进制转换为二进制可以使用每三位八进制转换为二进制的方法,即将八进制数分成三位一组,然后将每组八进制数转换为二进制数,最后将所有二进制数连接起来,得到的数字就是我们所求的二进制数。 三、 十进制与十六...

    将非负十进制整数转化为八进制

    ### 将非负十进制整数转化为八进制 #### 概述 在计算机科学领域,数据转换是一项基本而重要的任务。其中,将非负十进制整数转化为八进制是常见的需求之一,尤其是在低级编程语言如C语言中。本篇文章将详细介绍这一...

    一款简易的进制转换工具(十进制转为2、8、16进制)

    十进制数10转换为十六进制是A,因为A在十六进制中代表10。 这个工具的实现可能包括以下步骤: 1. 用户输入一个十进制数。 2. 对输入的十进制数执行相应的除法和取余运算,记录下每次的余数。 3. 将记录的余数按相反...

    应用.NET类库中的栈类Stack完成十进制转换成二进制、八进制、十六进制。要求应用 Windows窗体程序设计实现,界面美观,功能完善。

    在本案例中,`Stack`类被用来实现将十进制数转换为二进制、八进制和十六进制的功能。 #### 二、十进制数转换为其他进制数 **1. 基本原理** - **十进制转二进制**: 不断除以2取余数,直到商为0为止,最后将所有...

    八进制数和十进制数相互转换

    本实验主要关注如何使用汇编语言将十六位二进制数转换为十进制数。具体步骤如下: 1. **定义数据段**:首先定义数据段,用于存储程序运行过程中需要用到的数据。例如,定义一个16位的二进制数(在这里使用的是十六...

    STM32数据进制转换程序,移植方便

    例如,从八进制转换为十六进制,只需将每个八进制位扩展为两位十六进制数(012变为0x12)。 - **间接转换**:对于不常见的进制,可能需要先转换到10进制,再转换到目标进制。例如,从七进制转换到十一进制,可以先...

    VB--十进制,八进制,十六进制,二进制相互转换大全

    标题和描述均提到了在VB(Visual Basic)中进行不同进制数字之间的转换,包括十进制、八进制、十六进制以及二进制之间的转换。这些转换在编程领域非常常见,尤其是在处理数据存储、网络通信、加密解密算法等场景下。...

    顺序栈将一个非负的十进制整数N转换为对应的B进制数。

    本程序利用顺序栈实现了一个实用的数制转换功能,不仅可以支持常见的二进制、八进制、十进制和十六进制之间的转换,还能处理任意1至16之间的进制数转换。通过合理的数据结构设计和高效的算法实现,该程序展示了如何...

    将十进制数N转换为r进制的数(Java)代码

    有时我们需要将十进制数转换成其他进制,比如八进制、十六进制或者任意进制r。本篇将详细讲解如何用Java编程语言实现将十进制数N转换为任意进制r的数,并以N=3456,r=8为例进行具体阐述。 首先,让我们理解辗转相除...

    网管工具\教程 二进制 八进制 十六进制转换方式

    例如,将十进制数100转换为二进制、八进制和十六进制: - **转换为二进制**:连续除以2并记录余数,最后得到1100100。 - **转换为八进制**:连续除以8并记录余数,最后得到144。 - **转换为十六进制**:连续除以16...

Global site tag (gtag.js) - Google Analytics