C#语言编写代码,将一个10进制正整数转换成2进制字符串。

作者&投稿:闾性 (若有异议请与网页底部的电邮联系)
用c#语言写一个将十进制转换为二进制的程序~

呵呵,没有意义的事情,因为在内存里他都是二进制,所谓十进制二进制十六进制,只是显示的问题,也就是字符串的问题,要显示问题很好转换

如果要用堆栈,那就比较麻烦,也没有必要

///
/// 堆栈
///
private Stack Intstack = new Stack( 5 );

public void DtoB( int iNum )
{
Intstack.Push( iNum % 2 ); // 余数入栈
int d = iNum / 2;
if ( d != 0 )
DtoB( d ); // 求下一个二进制位

return;
}

//下面是调用程序
public static void Main()
{
Intstack.Clear();
DtoB( 11 );
StringBuilder s = new StringBuilder();
while ( Intstack.Count != 0 )
s.Insert( 0, Intstack.Pop() ); // 从堆栈中取出所有的二进制位

MessageBox.Show( "二进制数:" + s.ToString() );
}

//要转换下面的方法更简单,而且效率更高
public string DtoB1( int iNum )
{
int len = sizeof( int ) * 8;
StringBuilder s = new StringBuilder();
int exmple = 1 << len - 1;
int tmp = iNum;
for ( int i = 0; i < len; i++ )
{
if ( ( tmp & exmple ) == 0 )
s.Append( "0" );
else
s.Append( "1" );

tmp <<= 1;
}

return s.ToString();
}

有简单方法:
int num = 10;string str = Convert.ToString(num, 2);
非要有循环的话就是短除法了:
int num = 10;string str = string.Empty;while (num != 0){ int mod = num % 2; num = (int)num / 2; str = mod + str;}

using System;

using System.Collections.Generic;

using System.Text;

namespace Test

{

    class Program

    {

        static void decToBin(int n)

        {

            if (n != 0)

            {

                decToBin(n / 2);

                Console.Write(n % 2);

            }

        }

        static void Main(string[] args)

        {

            int num;            

            Console.Write("请输入一个正整数:");

            num = Convert.ToInt32(Console.ReadLine());

            Console.Write("转换后的结果为:");

            decToBin(num);           

            Console.ReadKey();

        }

    }

}

测试结果如图所示



//输入一个正整数,输出对应的二进制字符串
#include <stdio.h>
#define MAX 100

int main()
{
int digit = 2;
int Num;
char str[MAX];
int i = 0;
int rest;

scanf("%d", &Num);
for(; Num > 0; i++)
{
rest = Num % digit;
if(rest > 9)
{
str[MAX - 1 - i] = (char)rest + 'A' - 10;
}
else
{
str[MAX - 1 - i] = (char)rest +'0';
}
Num /= digit;
}

printf("%s", &str[MAX - i]);

return 0;
}

用十进制的除以2,例如
789=1100010101   789/2=394.5 =1 第10位   394/2=197 =0 第9位   197/2=98.5 =1 第8位   98/2=49 =0 第7位   49/2=24.5 =1 第6位   24/2=12 =0 第5位   12/2=6 =0 第4位   6/2=3 =0 第3位   3/2=1.5 =1 第2位   1/2=0.5 =1 第1位


c语言编程问题,编写代码,a+b问题,求大神帮忙哇( ๑ŏ ﹏ ŏ๑...
【解题思路】这道题的难点是超多位数,也就是说40位数用最长的基础类型都表示不下。这个时候可以用数组,最简单的就是你定义三个长度为40的字符数组,每个元素存放一个0-9的数值,然后逐位进行加运算,碰到超过10的就进位。【程序代码】#include<iostream>#include<stdio.h>#include<conio.h>using ...

用c语言编写循环语句1到6的代码怎么写?
可以使用for循环语句来实现输出1到6的代码,示例代码如下:```c include <stdio.h> int main(){ int i;for(i = 1; i <= 6; i++){ printf("%d ", i);} return 0;} ```以上代码中,我们定义了一个变量i,并且通过for循环语句进行了6次迭代。每次迭代时,将变量i的值输出到屏幕上...

易语言编写蓝屏代码写什么
.版本 2 .子程序 __启动窗口_创建完毕 _启动窗口.位置 = 3 _启动窗口.边框 = 0 画板1.左边 = 0 画板1.顶边 = 0 画板1.宽度 = 取屏幕宽度 ()画板1.高度 = 取屏幕高度 ()画板1.画板背景色 = #蓝色 画板1.底图=这里可以添加一张蓝屏的截图,达到模拟蓝屏的目的 还有,直接HOOK模拟...

c语言中如何将整数8转换成小数点后面的数字
直接依照题目中要求,进行代码编写即可:include <stdio.h>int main(){ int x = 18,k=14; x%=k-k%5; printf("x=%d\\n", x); return 0;} 解析:对于x%=k-k%5;其实就是 x=x%(k-k%5);所以 1 计算k%5 = 14%5=4;2 计算k-4=14-4=10;3 计算x%10=18%10 ...

C语言编写一个程序:读取任何二进制文件,并将文件内所有字节按相反排序...
include <stdio.h> #define FILE_NAME "E:\/2.bin"\/\/ 读取的文件名#define NEW_FILE_NAME "E:\/2$.bin"\/\/ 新文件名int main(){int index=1;FILE *pfile_forread=fopen(FILE_NAME,"r");FILE *pfile_forwrite=fopen(NEW_FILE_NAME,"w"); if(!pfile_forread||!pfile_forwrite) ...

哪种编程语言最好学?
C是学习高级语言的基础;C++主要用于编写大型软件核心代码和汇编一样,比较难学,不过学好了后,很有前途;C#主要用于编写一些系统软件,比如游戏引擎核心代码,编写比较简单,界面比较友好;ASP.NET主要是用C#语言编写开发网站(B\/S架构)。 J2EE是用很广泛,主要偏向于企业应用软件和一些桌面系统(C\/S架构),计算机平台;第二...

C语言编写好代码后,怎么编译,最后生成可执行文件
在Visual C++6.0编程环境中的步骤如下:编译:方法一:如图:打开Visual C++6.0,打开“组建”("Build")菜单,找到“编译”(“Compile”)命令,点击该命令,随后显示编译结果。方法二:如图:在工具栏中找到编译图标(红色方框所圈处),点击该图标,即可编译。方法三:使用快捷键Ctrl+F7。生成可...

c语言编程代码
两种方法我写在一起,可以独立拆开。include <stdio.h> void finda1(char a[3][10]);void finda2(char a[3][10]);void show(char (*p)[10]);int main(){ char a[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};printf("原数组内容:\\n");show(a);printf("\\n1、用...

大学生入门编程必备的写代码工具
推荐新手小白A门使用的写什码工具错过一个都可惜! Py Charm Py Charm是一种python IDE, 带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具, 比如调试、语法高亮、Project管理、代码跳转智能提示、自动完成、单元测试、版本控制。此外,专业版提供了一些高级功能,以用于支持Django框架下的专业Web开发。 Visua...

HDL输入信号50MHz,需分频输出4Hz,代码及测试文件怎么实现?
要实现将50MHz的输入信号分频输出4Hz,可以使用HDL语言(如Verilog或VHDL)编写代码来实现。下面是一个简单的Verilog代码示例,实现了将50MHz的输入信号分频输出4Hz的功能:module divider( input clk_in, output clk_out); reg [19:0] counter; always @(posedge clk_in) begin counter <...

墨脱县19684031741: C#语言编写代码,将一个10进制正整数转换成2进制字符串. -
郟昆他格: using System; using System.Collections.Generic; using System.Text; namespace Test {class Program{static void decToBin(int n){if (n != 0){decToBin(n / 2);Console.Write(n % 2);}}static void Main(string[] args){int num;Console....

墨脱县19684031741: C语言:编写一个函数,其功能是将一个十进制正整数转换成任意进制整数,并输出转换结果? -
郟昆他格: #include "stdio.h" #include "stdlib.h" main() { int n,x=0,a[100]; printf("请输入转换的数和进制:\n"); scanf("%d",&n); while(n){ a[x++]=n%2; n/=2; } --x; while(x>=0) printf("%d",a[x--]); printf("\n"); system("pause"); } 再送你一个进...

墨脱县19684031741: 编写C#程序,要求用户输入一个十进制正整数,然后分别转换成为二进制数,八进制数和十六进制数输出 -
郟昆他格: int num = 10;//数字10转换如下 string result1 = Convert.ToString(num, 2); //二进制结果为 1010 string result2 = Convert.ToString(num, 8);//八进制结果为 12 string result3 = Convert.ToString(num, 16);//十六进制结果为 a

墨脱县19684031741: C语言:将一个十进制的正整数转换为二进制数并输出结果. -
郟昆他格: //十进制转二进制#include <stdio.h> main() { int a[100]={0},x,j,i=0; scanf("%d",&x); while(x) //while(x!=0) { a[i]=x%2; x=x/2; i++; } for(j=i-1;j>=0;j--) printf("%d",a[j]); }

墨脱县19684031741: 用c#语言写一个将十进制转换为二进制的程序 -
郟昆他格: public static ArrayList TransTen_Two(int tenNum) { ArrayList twoNum = new ArrayList(); for(int i = 0;tenNum>0;i++) { twoNum.Add(tenNum % 2); tenNum = tenNum / 2; } twoNum.Reverse(); return twoNum; }

墨脱县19684031741: C#代码:将输入的10进制正整数转换为罗马数据.假设罗马数据中只使用“基值”字母:M、D、C、L、X、V、I, -
郟昆他格: static void Main(string[] args) { int[] baseValue = {1000, 500, 100, 50, 10, 5, 1}; //罗马数据的基值 int[] baseCount = {0, 0, 0, 0, 0, 0, 0}; //对每一基值所需的个数 char[] romeChars = {'M', 'D', 'C', 'L', 'X', 'V', 'I'}; //七个罗马字符 Console.WriteLine(...

墨脱县19684031741: 用C#设计一个程序,输入一个十进制数,输出相应的十六进制数 -
郟昆他格: 十进制数.toString("X") 结果就是16进制static void Main(string[] args){int a = 12344;Console.Write(a.toString("X"));Console.Read();}其他内容参考: http://www.cnblogs.com/pyt5208/archive/2007/11/04/948724.html

墨脱县19684031741: c#中,编写一个十进制转换为其他进制的应用程序(用函数实现) -
郟昆他格: using System;namespace NS {class Program{public static void Main(string[] args){long n;int jinzhi; Console.Write("请输入要转换的整数:");n=Convert.ToInt64(Console.ReadLine());Console.Write("请输入要转换成的进...

墨脱县19684031741: C# 编程输入一个十进制数,输出相应的十六进制数 -
郟昆他格: 这个具体的Demo我没了 不过 思路就是 用栈 把每次这个数除16 后的数 放入栈里 最后 把这个栈中的数 陆续出栈 组成的数就是十六进制了...

墨脱县19684031741: 编写一个程序,将用户输入的十进制数转换成任意进制的数?用c#编写! -
郟昆他格: //十进制转二进制 Console.WriteLine("十进制166的二进制表示: "+Convert.ToString(166, 2)); //十进制转八进制 Console.WriteLine("十进制166的八进制表示: "+Convert.ToString(166, 8)); //十进制转十六进制 Console.WriteLine...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网