十进制转化成二进制

众多程序 其实就是自己平时的算法转化成计算机的语言

 1 #include<stdio.h>
 2
 3 //十进制转化成二进制
 4
 5 int main()
 6 {
 7     int a,b[100],c;
 8     int i,j;
 9     printf("please enter the number :");
10     scanf("%d",&a);
11     j=0;
12     for(i=1;i<=a/2;i++)
13     {
14
15         while(a)
16         {
17             if(a%2==0)
18             {
19                 b[j]=0;
20             }
21             else
22                 b[j]=1;
23             j++;
24             a=a/2;
25         }
26     }
27     for(i=j-1;i>=0;i--)
28     {
29         printf("%3d",b[i]);
30     }
31     printf("\n");
32 }

最后我发现那个for循环形同虚设,因此去掉后也正确

 1 #include<stdio.h>
 2
 3 //十进制转化成二进制
 4
 5 int main()
 6 {
 7     int a,b[100],c;
 8     int i,j;
 9     printf("please enter the number :");
10     scanf("%d",&a);
11     j=0;
12         while(a)
13         {
14             if(a%2==0)
15             {
16                 b[j]=0;
17             }
18             else
19                 b[j]=1;
20             j++;
21             a=a/2;
22         }
23     for(i=j-1;i>=0;i--)
24     {
25         printf("%3d",b[i]);
26     }
27     printf("\n");
28 }
时间: 2024-11-05 19:39:10

十进制转化成二进制的相关文章

十进制转换成二进制以 二进制转换成 8进制和16进制

十进制转换成二进制 举例:752(十进制数) --> 转换成 二进制数 从下往上 读取数据 二进制数为 : 011110000 2.二进制转换成8进制 (开头用 0 表示) 111 -> 表示的十位数 为 7,也是 8进制 每位上 最大的数字 011110000 转换为  8进制 ,从右到左  ,三位 隔开      011-110-000 , 3.二进制转换成16进制(开头用0x表示) 与 二进制转换 大体相同,区别在于 , 在二进制数中,每四位数隔开 ,再分别计算 得到十进制 ,再 进行

递归代码将十进制转换成二进制输出

这段代码将十进制转换成二进制输出,代码很简洁干练 #include<stdio.h> #include<string.h> void DtoB(int n) {  if(n)  {   DtoB(n/2);   printf("%d",n%2);  } } int main() {  int n;  scanf("%d",&n);  DtoB(n);  return 0; }

C 利用移位运算符 把十进制转换成二进制

#include <stdio.h> int main(void){ //利用移位运算符 把十进制转换成二进制 int c; printf("输入数字:");//8 scanf("%d",&c); //最高位和次高位都要移动到最低位 //补码:00 0000 1000 //逻辑右移>>:00 0000 1000 //printf("%d",8<<2);return; int i = sizeof(c)*

Python如何将整数转化成二进制字符串

Python 如何将整数转化成二进制字符串 1.你可以自己写函数采用 %2 的方式来算. >>> binary = lambda n: '' if n==0 else binary(n/2) + str(n%2) >>> binary(5) '101' >>> 2.采用 python 自带了方法 bin 函数,比如 bin(12345) 回返回字符串 '0b11000000111001', 这个时候在把0b去掉即可: >>> bin(

Educational Codeforces Round 80 (Rated for Div. 2)【A,B,C,D】C题DP{GG了} D题【数组转化成二进制形式判断+二分】

A题直接暴力水过 1 #include<bits/stdc++.h> 2 3 using namespace std; 4 #define int long long 5 #define N 6666666 6 int arr[N]; 7 8 signed main(){ 9 int _;cin>>_; 10 while(_--){ 11 int n,m; 12 cin>>n>>m; 13 if(n>=m){ 14 cout<<"

计算十进制数转化成二进制时1的个数

#include <iostream> using namespace std; int func(int x) { int cnt = 0; while (x) { cnt++; x = x&(x - 1); } return cnt; } int main() { cout << func(9999) << endl << func(8); cin.get(); return 0; } 输出8,1 其实上面那个函数输出结果是:形参x转化为二进制后

十进制转换成二进制列表

a = [[1, 2, 3, 4, 5, 6]] 转换后: z = [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 1.], [ 0., 0., 0., 0., 0., 0., 0., 0., 1., 0.], [ 0., 0., 0., 0., 0., 0., 0., 0., 1., 1.], [ 0., 0., 0., 0., 0., 0., 0., 1., 0., 0.], [ 0., 0., 0., 0., 0., 0., 0., 1., 0., 1.],

十进制如何转化成二进制,返回字符串形式

def Dec2Bin(num): temp = [] result = '' while num: yushu = num % 2 num = num//2 temp.append(yushu) while temp: result += str(temp.pop()) return result print(Dec2Bin(25))======11001 temp是一个空列表,用来保存每次除2后的余数 result是一个空的字符串,用以输出二进制的字符串形式 append()将余数添加到列表

用C语言实现十进制转化为二进制

这是个很简单代码,我直接黏上去 int main(int argc, const char * argv[]) { int num = 0; int y = 0; int tow[20]; printf("请输入一个十进制的数:"); scanf("%d",&num); while (num !=0) { tow[y] = num % 2; num = num / 2; y++; } for (; y>0; y--) { printf("二进