怎么求一个整数的2进制数c语言

作者&投稿:孟定 (若有异议请与网页底部的电邮联系)
在C语言中,整数可用_______进制数、_________进制数和_________进制数~

八进制数、十进制数、十六进制数

#include
char Ifzerone(int zerone);
int main()
{
int number;
int i;
int temp;//改为temp
printf("Input your number
");
scanf("%d",&number);
for(i=1;i<=32;i++)
{ temp=(number&0x80000000);//(2e-31)并不是0x80000000,而是double型,2*10^-31,不是2^31
printf("%c",Ifzerone(temp));//应该输出%c而不是%d
number=number<<1;
}
return 0;
}
char Ifzerone(int zerone)
{
if(zerone==0)
zerone='0';
else
zerone='1';
return zerone;
}

如果可是直接使用库函数的话,itoa 函数就可以:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char** argv)
{
int n;
printf ("输入 n:");
    scanf ("%d", &n);

char binary_str[32];
itoa(n, binary_str, 2);
printf ("%d 的二进制为 %s
", n, binary_str);

    return 0;
}

运行:




输入一个十进制整数,输出其对应的二进制数,用C语言的函数知识。_百度知 ...
#include<stdio.h> int main(){ int i,j,n,m=-1,a[16];printf("请输入十进制数");scanf("%d",&n);while(n!=0){ i=n%2;a[++m]=i;n=n/2;} for(j=m;j>=0;j--)printf("%d",a[j]);return0;} ...

数学上进位制2怎么计算
即将二进制每位上的数乘以权,然后相加之和即是十进制数.需要注意的是:要知道二进制每位的权值;要能求出每位的值 二、 二进制与八进制之间的转换 首先,我们需要了解一个数学关系,即23=8,24=16,而八进制和十六进制是用这 关系衍生而来的,即用三位二进制表示一位八进制,用四位二进制表示一...

十进制转二进制快速算法
比如将10101转化为十进制:10101=1*2^4+0*2^3+1*2^2+0*2^1+1*2^0=21 十进制如何转二进制:将该数字不断除以2直到商为零,然后将余数由下至上依次写出,即可得到该数字的二进制表示,以将数字21转化为二进制为例。2.当商为零时,将余数由下至上依次写出,即为21的二进制表示。

请问一个十进制数35,转化为二进制数是多少?该怎么算呢?
十进制数换算成二进制数的方法是除2取余,逆序读取。35\/2=17 余1 17\/2=8 余1 8\/2=4 余0 4\/2 =2余1 2\/2 =1余0 1\/2=0 余1 从下往上(逆序)把余数写出来。所以,35 [10] = 100011 [2]。

java程序在控制台输入一个正整数,要求以二进制的形式输出怎么做?_百度...
n = Math.abs(n + 1); } while(true){ int remainder = (!minus && n % 2 == 0) || (minus && n % 2 == 1) ? 0 : 1; \/\/将余数保存在结果中 result = remainder + result; n \/= 2; if(n == 0){ break; } } \/\/判断是否为负数...

1、 有一个16位的整数,求其二进制上每4位的数字之和。 例如:int a=1...
for(int j=i*4;j<(i+1)*4;j++){ sum+=a[j]*M10(3-j%4);} return sum;} int main(){ int a[16];for(int i=0;i<16;i++)a[i]=0;shito2(6,a);cout<<endl;for(int j=0;j<16;j++)cout<<a[j]<<' ';cout<<endl;cout<<"16位的整数,其二进制上每4位数字之和...

二进制一直搞不懂,请问十进制数字1到20用二进制该怎么表示?请把数字...
等号左右说明:十进制=二进制 1=1 2=10 3=11 4=100 5=101 6=110 7=111 8=1000 9=1001 10=1010 ...16=10000 ...20=10100 二进制逢2进1;2=10,十进制,2=10,翻一番加一个0,如4=100,8=1000,16=10000...

什么是一位二进制数,什么是四位二进制数,能举个例子吗?
一位也叫1bit,二进制数只有0和1这两个数;一位二进制数即0或1;四位二进制数即1010;1101;1011等有四位。一位二进制数是采用位置计数法,其位权是以2为底的幂。例如二进制数据110.11,逢2进1,其权的大小顺序为2²、2¹、2º、、。对于有n位整数,m位小数的二进制数据...

C++求解给定一个正整数n,要求输出对应的二进制数中为1的所有位置。最低...
我这边 IE出了点问题。while(i>0){ if(i%2==1)printf("%d,",n);i=i\/2;n++;} 这是我用C写的 你参考下,主要就是用while比较适合一点

计算机1级考试的进制怎么算?
按位权形式展开多项式和的形式,求其最后的和,就是其对应的十进制数——简称“按权求和”十进制数转换为二进制数,十六进制数(除2\/16取余法),整数转换.一个十进制整数转换为二进制整数通常采用除二取余法,即用2连续除十进制数,直到商为0,逆序排列余数即可得到,简称除二取余法 ...

湘东区15137706700: C语言:编写一函数,求某正整数的二进制形式 -
易樊头孢: 思路:除二取余数,当除数为0时停止,反序输出数组的值(即余数) void convert(int m) { int a[16]={0},j=0; for (int i=0;i{ if (m!=0) { j++; a[i]=m%2; m=m/2; } else break; } for (int k=15;k>=0;k--) { cout} cout}

湘东区15137706700: C语言中怎么输出一个数的二进制数呀 -
易樊头孢: #includeint main() { int m, a[17], i, k, p, q; while(scanf("%d", &q) == 1) { if(q < 0) m = - q; else { m = q; } for(i = 0; i <= 16; i ++) { a[i] = 0; } p = q; for(i = 0; (int)m != (int)0; i ++) { a[i] = m % 2; m = (int)(m / 2); } printf("%11d-->", p); if(p < 0) { printf("-"...

湘东区15137706700: 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]); }

湘东区15137706700: c语言位运算 求1个整数的二进制数有多少个1 -
易樊头孢: #include<stdio.h> int solve(int n) { int ans=0; while(n) ans+=n&1,n>>=1; return ans; } int main() { int n; scanf("%d",&n); printf("%d的二进制数有%d个1.\n",n,solve(n)); return 0; }第一种方法:简单的运算一个整数中二进制中1的个数,位运算...

湘东区15137706700: 如何用C语言将一个数值按二进制格式输出? -
易樊头孢: //---------------------------------------------------------------------------#include <stdio.h>#include <limits.h> int main(void) { int a,i=0; unsigned int mark=1<<CHAR_BIT*sizeof(int)-1; scanf("%d",&a); /*输入要查看二进制形式的整数*/ while (mark) { putchar(a&...

湘东区15137706700: 在C语言中怎么把一个数转换成二进制然后输出 -
易樊头孢: 可以把这个数循环除以2取余数,同时把这些余数入栈,结束循环后再出栈输出就好了

湘东区15137706700: 用C语言的循环语句将正整数转化为二进制数如何用简单语句实现?我想
易樊头孢: 就根笔算二制的方法一样. 设输入的整数为t. 创建一个数组,令其元素均为0 用t除以2,把商数存储在t,余数按升序存储在数组中.重复进行这一步直到t等于0时. 在要输出时,从数组的高位开始,直到出现元素为1的位.并把该位之前(包括该位)的数打印出来. 打印出来的就是该整数的二进制数 附件附上程序,仅供参考.若有BUG,请PM我

湘东区15137706700: 【急求】c语言程序输入一个整数(int),要求输出其二进制形式的值. -
易樊头孢: 我也发一个自编的,已验证通过.#include <stdio.h>main() {char binOut[17];short int i, j; /* 16bit的整数,要用short int型 */scanf("%d", &i); for(j=15;j>=0;j--){if(i&(1<<j))binOut[15-j] = '1';elsebinOut[15-j] = '0';}binOut[16] = 0;printf("DEC(%d)=BIN(%s)\n",i,binOut); }

湘东区15137706700: 编写一个程序,将十进制整数n 转换成二进制数.本人初学C++,求指导 -
易樊头孢: 你这是c语言,不是c++. #include<stdio.h> int main() {int a, b, n, i;int temp[10];printf("请输入一个整数:");scanf("%d",&a);//n=1;//printf("%d",n);n = 0;while(a>0){b = a % 2;a = a / 2;temp[n++] = b;}for(i=n-1; i>=0; i--)printf("%d", temp[i]); } 你要想下10进制转成2进制,是从最低位求起的,也就是求余的结果要反过来, 你拿笔自己算算看.

湘东区15137706700: C语言中整数是如何转换为二进制的?? -
易樊头孢: convert(bit,X) X 表示你的整数变量

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