怎么把数字转为二进制数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么把数字转为二进制数相关的知识,希望对你有一定的参考价值。
参考技术A 1.怎样将一个数转为二进制十进制转各进制 要将十进制转为各进制的方式,只需除以各进制的权值,取得其余数,第一次的余数当个位数,第二次余数当十位数,其余依此类推,直到被除数小于权值,最后的被除数当最高位数。
一、十进制转二进制 如:55转为二进制 2|55 27――1 个位 13――1 第二位 6――1 第三位 3――0 第四位 1――1 第五位 最后被除数1为第七位,即得110111 二、十进制转八进制 如:5621转为八进制 8|5621 702 ―― 5 第一位(个位) 87 ―― 6 第二位 10 ―― 7 第三位 1 ―― 2 第四位 最后得八进制数:127658 三、十进制数十六进制 如:76521转为十六进制 16|76521 4726 ――5 第一位(个位) 295 ――6 第二位 18 ――6 第三位 1 ―― 2 第四位 最后得1276516 二进制与十六进制的关系 2进制 0000 0001 0010 0011 0100 0101 0110 0111 16进制 0 1 2 3 4 5 6 7 2进制 1000 1001 1010 1011 1100 1101 1110 1111 16进制 8 9 a(10) b(11) c(12) d(13) e(14) f(15) 可以用四位数的二进制数来代表一个16进制,如3A16 转为二进制为: 3为0011,A 为1010,合并起来为00111010。可以将最左边的0去掉得1110102 右要将二进制转为16进制,只需将二进制的位数由右向左每四位一个单位分隔,将各单位对照出16进制的值即可。
二进制与八进制间的关系 二进制 000 001 010 011 100 101 110 111 八进制 0 1 2 3 4 5 6 7 二进制与八进制的关系类似于二进制与十六进制的关系,以八进制的各数为0到7,以三位二进制数来表示。如要将51028 转为二进制,5为101,1为001,0为000,2为010,将这些数的二进制合并后为1010010000102,即是二进制的值。
若要将二进制转为八进制,将二进制的位数由右向左每三位一个单位分隔,将事单位对照出八进制的值即可。
2.怎样将一个数转换成二进制数
一、十进制转二进制(整数部分)
方法:用2辗转相除直到结果为1,将余数和最后的1从下向上的组合,就是我们想要的结果。
例如:60
60/2 = 30 余 0
30/2 = 15 余 0
15/2 = 7 余 1
7/2 = 3 余 1
3/2 = 1 余 1
所以十进制数60转为二进制数即为 11100
二、十进制小数转换为二进制小数
方法:乘2取整,顺序排列。
具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。
例如:0.25
0.25*2 = 0.5 ------------整数部分:0
0.5*2 = 1.0 ------------整数部分:1
所以十进制数0.25转为二进制数即为 0.01
所以十进制数 60.25 转为二进制数即为 11100.01
3.二进制数怎么转换
二进制数转换成八进制:把二进制数从小数点开始,向两边每三位一段,不够补0。
然后再每一段3位二进制数转换为1位八进制数。二进制数转换成十六进制:把二进制数从小数点开始,向两边每四位一段,不够补0。
然后再每一段4位二进制数转换为1位十六进制数。例如:(11010101.11101)2=(011 010 101.111 010)2=(325.72)8(11010101.11101)2=(1101 0101.1110 1000)2=(D5.E8)16转换到二进制时每一位八进制数就对应于三位二进制数,每一位十六进制数就对应于四位二进制数。
4.怎么把10进制数变成2进制数
十进制整数转换为二进制整数采用"除2取余,逆序排列"法。
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。
具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
例如:254
254/2=127……0
127/2=63…1
63/2=31。1
31/2=15…1
15/2=7…1
7/2=3…1
3/2=1。1
1/2=0。1
故为11111110
5.如何把十进制数字转换为二进制数字
十进制整数转二进制:
就是把该十进制数,用二因式分解,取余。
以12为例,转为二进制
2除以12得6,余0,取0
2除以6得3,余0,取0
2除以3得1,余1,取1
最后剩下1,由它开始写起,就可得1100的二进制结果
十进制中的小数转为二进制:,
就是把该小数不断乘2,再取所得的整数部份,直至没有小数为止,但请注意并不是所有小数都能转到!
以0.875为例,
0.875剩以2得1.750,取整数1
0.750剩以2得1.500,取整数1
0.500剩以2得1,取整数1,就可得0.111的二进制结果
C语言编程:怎么把一个十进制数转换成为一个十六进制数?
第一种:用来糊弄老师的,输入一个数采用16进制格式输出#include <stdio.h>
int main()
int num = 0;
scanf("%d", &num);
printf("%x", num);
return 0;
第二种:
#include <stdio.h>
#include <string.h>
char oNumTable[6] = 'A', 'B', 'C', 'D', 'E', 'F';
void dToO(int, char*);
int main()
int dNum;
char oNum[100] = 0;
//输入一个十进制数
scanf("%d", &dNum);
//调用转换函数,将十进制转换成以字符串表示的十六进制
dToO(dNum, oNum);
//输出以字符串表示的16进制数据
printf("%s\n", oNum);
return 0;
void dToO(int dNum, char* oNum)
char temp[100] = 0;
for (int i = 0; (dNum) && (i < 100) ; i++)
temp[i] = (dNum % 16);
if (temp[i] > 9)
temp[i] = oNumTable[temp[i] - 10];
else
temp[i] += '0';
dNum /= 16;
char* p = temp;
while (*(p+1)) p++;
for (int i = 0; p != temp - 1; i++, p--)
oNum[i] = *p;
参考技术A #include <stdio.h>
int main()
int x;
printf ("请输入十进制:");
scanf("%d",&x);
printf("十六进制:%x",x);
return 0;
参考技术B #include <stdio.h>
#include <string.h>
int main()
int i=0,p,n;
char b[10];
scanf("%d",&n);
while(n!=0)
p=n%16;
if(p>9) b[i++]='A'+p-10;
else b[i++]='0'+p;
n/=16;
b[i]='\0';
for(i=strlen(b)-1;i>=0;i--)
printf("%c",b[i]);
return 0;
以上是关于怎么把数字转为二进制数的主要内容,如果未能解决你的问题,请参考以下文章