我只是输入十进制的整数.
其实我的要求很简单,只是想把十进制数换成二进制数.这里的贴虽然有说过,但使用的是可视化编程(直接在vs.net里编程). 可我是新手,编的还是DOS程序.根本就用不上这儿的方法.后天就是交功课的日子.帮帮我吧.

解决方案 »

  1.   

    To: kinli(动感磁场)
    > 哪二进制呢
    我猜是
    a.ToString("B"); // 2 进制
    我明天上班时在 Visual Studio .NET 里试一下。
      

  2.   

    ...
    decimal Dec=20M;
    int[] Bin=Decimal.GetBits(Dec);返回值是长度为四个元素的、由 32 位有符号整数构成的数组。
    返回数组的第一个、第二个和第三个元素分别包含 96 位整数的低 32 位、中间 32 位和高 32 位。
    返回数组的第四个元素包含比例因子和符号。该元素由以下部分组成:
    0 到 15 位(即字的低位部分)不被使用且必须为零。
    16 到 23 位必须包含一个 0 到 28 之间的指数,指示 10 的幂,用以分隔该整数。
    24 到 30 位不被使用且必须为零。
    31 位包含符号,0 表示正,1 表示负。
    请注意,位的表示有正零和负零之分。在所有运算中,这些值被视为相等。
      

  3.   

    int InputInteger = -15;
    int[] bit;
    bit = new int[32];
    for( int i=0; i<32; i++ )
    {
    bit[i] = InputInteger & 0x0001;
    InputInteger = InputInteger >> 1;
    }
    for ( int i=31; i>=0; i-- )
    {
    System.Console.Write( "{0} ", bit[i] );
    }
      

  4.   

    这个我以前做功课的时候也碰到过。就是除2取整法呀
    就是循环地去除2,把他放到字符串里,到时在倒过来就行了。
    Very Easy!
      

  5.   

    这是我的程序:
    using System;class Test {
    static void Main() {
      foreach (int a in new int [] {0, 123456789, -123456789})
         Console.WriteLine("dec:{0,10} hex:{1,8} bin:{2,32}", a, a.ToString("X"), Int2Bin(a));
      }
      
      public static string Int2Bin(int n)
      {
       uint un = (uint)n;
       string s = null, t = null;
       for (; un > 0; un /= 2) s += un % 2;
       if (s == null) s = "0";
       for (int i = s.Length - 1; i >= 0; i--) t += s[i];
       return t;
      }
    }运行结果如下: 
    dec:         0 hex:       0 bin:                               0
    dec: 123456789 hex: 75BCD15 bin:     111010110111100110100010101
    dec:-123456789 hex:F8A432EB bin:11111000101001000011001011101011
      

  6.   

    MessageBox.Show(Convert.ToString(12345,2).ToString());
    我试了,这样肯定可以的。
      

  7.   

    shanmin(shanmin) 的方法可行。但是最后一个 ToString() 是不必要的。
    System.Convert.ToString(int nValue, int nBase); 表示将 nValue 转换为 nBase 进制的字符串。其中 nBase 只能是: 2, 8, 10, 16。