各种进制的转化怎么算?16进制转化为2进制的表有吗?

本文共计4811个文字,预计阅读时间需要15分53秒,由作者编辑整理创作于2023年09月14日 19点55分35秒。

各种进制的转化怎么算?

进制转换
  目录: 一、正数
  1. 十 ——-> 二

  2. 二 ——-> 十

  3. 十 ——-> 八

  4. 八 ——-> 十

  6. 十六——> 十

  

  1. 二 ——-> 八

  2. 八 ——-> 二

  3. 十六 —-> 二

  4. 二 —-> 十六

   二、负数
  
正文:

  一、正数

  

  在高速发展的现代社会,计算机浩浩荡荡地成为了人们生活中不可缺少的一部分,帮助人们解决通信,联络,互动等各方面的问题。今天我就给大家讲讲与计算机有关的“进制转换”问题。

  我们以(25.625)(十)为例讲解一下进制之间的转化问题

  说明:小数部份的转化计算机二级是不考的,有兴趣的人可以看一看

  1. 十 —–> 二

  (25.625)(十)

  整数部分:

  25/2=12……1

  12/2=6 ……0

  6/2=3 ……0

  3/2=1 ……1

  1/2=0 ……1

  然后我们将余数按从下往上的顺序书写就是:11001,那么这个11001就是十进制25的二进制形式

  小数部分:

  0.625*2=1.25

  0.25 *2=0.5

  0.5 *2=1.0

  然后我们将整数部分按从上往下的顺序书写就是:101,那么这个101就是十进制0.625的二进制形式

  所以:(25.625)(十)=(11001.101)(二)

  十进制转成二进制是这样:

  把这个十进制数做二的整除运算,并将所得到的余数倒过来.

  例如将十进制的10转为二进制是这样:

  (1) 10/2,商5余0;

  (2) 5/2,商2余1;

  (3)2/2,商1余0;

  (4)1/2,商0余1.

  (5)将所得的余数侄倒过来,就是1010,所以十进制的10转化为二进制就是1010

  2. 二 —-> 十

  

  (11001.101)(二)

  整数部分: 下面的出现的2(x)表示的是2的x次方的意思

  1*2(4)+1*2(3)+0*2(2)+0*2(1)+1*2(0)=25

  小数部分:

  1*2(-1)+0*2(-2)+1*2(-3)=0.625

  所以:(11001.101)(二)=(25.625)(十)

  二进制转化为十进制是这样的:

  这里可以用8421码的方法.这个方法是将你所要转化的二进制从右向左数,从0开始数(这个数我们叫N),在位数是1的地方停下,并将1乘以2的N次方,最后将这些1乘以2的N次方相加,就是这个二进数的十进制了.

  还是举个例子吧:

  求110101的十进制数.从右向左开始了

  (1) 1乘以2的0次方,等于1;

  (2) 1乘以2的2次方,等于4;

  (3) 1乘以2的4次方,等于16;

  (4) 1乘以2的5次方,等于32;

  (5) 将这些结果相加:1+4+16+32=53

  3. 十 —-> 八

  (25.625)(十)

  整数部分:

  25/8=3……1

  3/8 =0……3

  然后我们将余数按从下往上的顺序书写就是:31,那么这个31就是十进制25的八进制形式

  小数部分:

  0.625*8=5

  然后我们将整数部分按从上往下的顺序书写就是:5,那么这个0.5就是十进制0.625的八进制形式

  所以:(25.625)(十)=(31.5)(八)

  4. 八 —-> 十

  (31.5)(八)

  整数部分:

  3*8(1)+1*8(0)=25

  小数部分:

  5*8(-1)=0.625

  所以(31.5)(八)=(25.625)(十)

  5. 十 —-> 十六

  (25.625)(十)

  整数部分:

  25/16=1……9

  1/16 =0……1

  然后我们将余数按从下往上的顺序书写就是:19,那么这个19就是十进制25的十六进制形式

  小数部分:

  0.625*16=10(即十六进制的A或a)

  然后我们将整数部分按从上往下的顺序书写就是:A,那么这个A就是十进制0.625的十六进制形式

  所以:(25.625)(十)=(19.A)(十六)

  6. 十六—-> 十

  (19.A)(十六)

  整数部分:

  1*16(1)+9*16(0)=25

  小数部分:

  10*16(-1)=0.625

  所以(19.A)(十六)=(25.625)(十)

  如何将带小数的二进制与八进制、十六进制数之间的转化问题

  我们以(11001.101)(二)为例讲解一下进制之间的转化问题

  说明:小数部份的转化计算机二级是不考的,有兴趣的人可以看一看

  1. 二 —-> 八

  (11001.101)(二)

  整数部分: 从后往前每三位一组,缺位处用0填补,然后按十进制方法进行转化,则有:

  001=1

  011=3

  然后我们将结果按从下往上的顺序书写就是:31,那么这个31就是二进制11001的八进制形式

  小数部分: 从前往后每三位一组,缺位处用0填补,然后按十进制方法进行转化,则有:

  101=5

  然后我们将结果部分按从上往下的顺序书写就是:5,那么这个5就是二进制0.101的八进制形式

  所以:(11001.101)(二)=(31.5)(八)

  2. 八 —-> 二

  (31.5)(八)

  整数部分:从后往前每一位按十进制转化方式转化为三位二进制数,缺位处用0补充则有:

  1—->1—->001

  3—->11

  然后我们将结果按从下往上的顺序书写就是:11001,那么这个11001就是八进制31的二进制形式

  说明,关于十进制的转化方式我这里就不再说了,上一篇文章我已经讲解了!

  小数部分:从前往后每一位按十进制转化方式转化为三位二进制数,缺位处用0补充则有:

  5—->101

  然后我们将结果按从下往上的顺序书写就是:101,那么这个101就是八进制5的二进制形式

  所以:(31.5)(八)=(11001.101)(二)

  3. 十六 —-> 二

  (19.A)(十六)

  整数部分:从后往前每位按十进制转换成四位二进制数,缺位处用0补充则有:

  9—->1001

  1—->0001(相当于1)

  则结果为00011001或者11001

  小数部分:从前往后每位按十进制转换成四位二进制数,缺位处用0补充则有:

  A(即10)—->1010

  所以:(19.A)(十六)=(11001.1010)(二)=(11001.101)(二)

  4. 二 —-> 十六

  (11001.101)(二)

  整数部分:从后往前每四位按十进制转化方式转化为一位数,缺位处用0补充则有:

  1001—->9

  0001—->1

  则结果为19

  小数部分:从前往后每四位按十进制转化方式转化为一位数,缺位处用0补充则有:

  1010—->10—->A

  则结果为A

  所以:(11001.101)(二)=(19.A)(十六) 二、负数
  负数的进制转换稍微有些不同。

  先把负数写为其补码形式(在此不议),然后再根据二进制转换其它进制的方法进行。

  例:要求把-9转换为八进制形式。则有:

  -9的补码为11111001。然后三位一划

  001—->1

  111—->157

  011—->3

  然后我们将结果按从下往上的顺序书写就是:31571,那么31571就是十进制数-9的八进制形式。

  补充:

  最近有些朋友提了这样的问题“0.8的十六进制是多少?”

  我想在我的空间里已经有了详细的讲解,为什么他还要问这样的问题那

  于是我就动手算了一下,发现0.8、0.6、0.2… …一些数字在进制之间的转化

  过程中确实存在麻烦。

  就比如“0.8的十六进制”吧!

  无论你怎么乘以16,它的余数总也乘不尽,总是余8

  这可怎么办啊,我也没辙了

  第二天,我请教了我的老师才知道,原来这么简单啊!

  具体方法如下:

  0.8*16=12.8

  0.8*16=12.8

  .

  .

  .

  .

  .

  取每一个结果的整数部分为12既十六进制的C

  如果题中要求精确到小数点后3位那结果就是0.CCC

  如果题中要求精确到小数点后4位那结果就是0.CCCC

  现在OK了,我想我的朋友再也不会因为进制的问题烦愁了!

  下面是将十进制数转换为负R进制的公式:

  N=(dmdm-1…d1d0)-R

  =dm*(-R)^m+dm-1*(-R)^m-1+…+d1*(-R)^1+d0*(-R)^0

  15=1*(-2)^4+0*(-2)^3+0*(-2)^2+1*(-2)^1+1*(-2)^0

  =10011(-2)

  其实转化成任意进制都是一样的

  C程序代码:(支持负进制)

  #include <stdio.h>

  #include <math.h>

  main()

  {

  long n,m,r;

  while( scanf( “%ld%ld”,&n,&r)!=EOF){

  if (abs(r)> 1 && !(n <0 && r> 0)){

  long result[100]=;

  long *p=result;

  printf( “%ld=”,n);

  if (n!=0){

  while(n!=0){

  m=n/r;*p=n-m*r;

  if (*p <0 && r <0){

  *p=*p+abs(r);m++;

  }

  p++;n=m;

  }

  for (m=p-result-1;m>=0;m–){

  if (result[m]> 9)

  printf( “%c”,55+result[m]);

  else

  printf( “%d”,result[m]);

  }

  }

  else printf( “0”);

  printf( “(base%d)n”,r);

  } }

  return;

  }

16进制转化为2进制的表有吗?

16进制转化2进制的表如下:16进制转化为2进制的表有吗?
扩展资料:

十六进制定义:16进制每一位上可以是从小到大为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 16个大小不同的数,即逢16进1,其中用A,B,C,D,E,F(字母不区分大小写)这六个字母来分别表示10,11,12,13,14,15。十六进制背景:例如十进制数57,在二进制写作111001,在16进制写作39。在历史上,中国曾经在重量单位上使用过16进制,比如,规定16两为一斤。现在的16进制则普遍应用在计算机领域,这是因为将4个位元(Bit)化成单独的16进制数字不太困难。1字节可以表示成2个连续的16进制数字。可是,这种混合表示法容易令人混淆,因此需要一些字首、字尾或下标来显示。参考资料:百度百科-十六进制转换

相关内容扩展阅读:

二进制转化成十六进制怎么算 ,比如 (101010)2 = ( )16

我十六进制转化成二进制会算的,但是反一下不会了。需要过程,怎么做???… 我十六进制转化成二进制会算的,但是反一下不会了。需要过程,怎么做???

2A。

二进制转换成十六进制数将二进制数从小数点开始分别向左(整数部分)和向右(小数部分)每4位分成一组,不足4位时,对原数值用0补足4位。再将每一组数转换成十六进制数码中的一个数字,连接起来以此题为例:二进制数(101010)2,转换成十六进制数为:1、每4位分开:10’1010’。

2、用0补齐至4位:00101010。

3、0010=2,1010=A转换成十六进制为2A。

即:(101010)2=(2A)16

二进制转化成十六进制怎么算 ,比如 (101010)2 = ( )16
扩展资料二进制与十六进制的关系2进制 0000 0001 0010 0011 0100 0101 0110 011116进制 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进制的值即可。

参考资料来源:百度百科-十六进制

参考资料来源:百度百科-二进制

高中数学,什么是进制呀,二进制五进制,十进制,怎么转化呢,求详细讲解下,刚学不太懂?

十进制转二进制,我们用除二取余法。小数部分则用乘二取整法。
十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。
十进制整数转换为二进制整数十进制整数转换为二进制整数采用”除2取余,逆序排列”法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
十进制小数转换成二进制小数采用”乘2取整,顺序排列”法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,此时0或1为二进制的最后一位。
在电脑中,这种除二取余法和乘二取整法,都是在电脑内部自动完成的,所以我们用电脑时,感觉不到它在用二进制进行计算。
希望我能帮助你解疑释惑。

十六进制转化 bcd码

void HextoBCD(u8 *pBuff,u8 len) //十六进制转为BCD码

{

u8 i,temp;

for(i=0;i<len;i++)

{

temp=pBuff[i]/10;

time[i]=pBuff[i]%10+temp*16;

}

}

bcd码就是用二带袭冲进制数来表示常用的十蠢歼进制数。就是用四个位的二进制来表示一个二进制数。一个字节一共有八个位,它就可以表示两个bcd码。比如,0FH等于二禅租进制物15,用一个字节低四位来表示5,高四位来表示1合起来就是15H,不用转换两次的。十六进制转化 bcd码
扩展资料

例如:

63÷10=6……3即商是6,余数是如果将商乘以16再加上余数,就是:6×16+3=99,其16进制数就是63H,即是十进制数63(16进制为3FH)的BCD码为63H。如果在单片机中,程序这么写:char HEX,BCD;BCD=(HEX/10*16)+(HEX%10);其中HEX存储十六进制数,BCD中存储的就是其BCD码。参考资料来源:百度百科-BCD码

如有侵权请联系:用户投稿,邮箱shenmar@foxmail.com删除:https://www.nub7.com/35744.html

发表评论

邮箱地址不会被公开。 必填项已用*标注