如1的二进制表示中101=1×2+0×2+1×...

如:二进制中,101=1*2²+0*2+1*2+1*1,等于十进制的数5,+0*2³+1*2²+1*2+1*1,等于十进制的数23那么二进制中的1101等于十进制的数()A10 B11 C13
WOW¢噜啦啦99
1101(2)=13(10)学了二进制之后就很容易算了,选C
可以仔细点吗?
教你一个二进制快速转换为十进制的方法吧,举个8位的二进制例子吧
每4个二进制数为一组,(如果不够的话,前面补0)只要记得从高位到低位的数值是
1(前提是全1)
这样就方便了,然后把数值加起来就可以了,二进制数对应十进制就可以算出来了,比如
)=128(10)
)=192(10)
)=1(10)
)=3(10)
后面16位的二进制也是可以算的。。。
为您推荐:
其他类似问题
扫描下载二维码  在大家的认知过程中可能会认为计算机是不会出现计算错误的,但是实际上,依然存在程序运行后无法得到正确数值的情况。其中,最经典的就是小数运算。(做金融的一定要小心!!!)
  在我们的世界里面,100个0.1相加就是10,这个是没有疑问的。但是当我们用C语言如下的程序来计算的时候,结果并非是10(不同语言计算的结果可能不同,这里主要说C)。
  首先是一段计算代码:
#include &stdio.h&
int main(void) {
for (i=0 ;i&100;i++) {
sum += 0.1;
printf("%f\n",sum);
运行结果如下:
计算机通过编译、链接、运行得到的结果是10.000002。程序没有错。现在让我们来看一下具体原因吧。
三、计算机计算结果不正确的原因
  简单来说,就是无法表示正确的数值,导致计算出来的结果成了近似值。下面进一步剖析一下。
  首先,我们来看一下在计算机世界里面如何用二进制数表示小数:
  例如把这个小数点的二进制数转成十进制数。(只需将各数位数值和位权相乘,然后将相乘的结果相加)
  也就是:1*2^3+0*2^2+1*2^1+1*2^0+0*2^(-1)+0*2^(-2)+1*2^(-3)+1*2^(-4) = 11.1875。
  了解了二进制表示的小数转十进制的方法后,计算出错的原因也就容易理解了。用小数点后4位用二进制表示时的数值范围为:0.1。因此,对应的十进制结果如下:
从上面的对照表可以看出,0的下一位就是0.625。因此0~0.0625之间的数值计算机无法用小数点后4位数的二进制数表示。因此可以看出0.1无法用4位二进制数表示。就算增加二进制的位数,也无法得到2^(-x) =0.1 这个结果。
  实际上,十进制0.1转成二进制后,就变成了0.1&&(1100循环)这样的循环小数。就像1/3是一个道理。因此100各0.1相加不等于10,而是等于近似值。
---------------------------------------------以上就能够回答标题的原因了---------------------------------------------
四、What is 浮点数?
  其实像刚才那样的这种表现形式完全是纸面上的二进制数表现形式,在计算机内部是无法使用的(计算机内部只是0101001&&没有"."这个概念)。实际上,编程语言提供了双精度浮点数(double)和单精度浮点数(float)。双精度浮点数类型用64位、单精度浮点数用32位来表示全体小数。
  浮点数:就是用符号、尾数、基数和指数表示的小数。
其中:&表示符号,m表示尾数,n表示基数,e表示指数。实际数据中不考虑基数。因此:
1、符号部分:1表示负、0表示正或者0。
2、尾数部分用的是:将小数点前面的值固定位1的正则表达式。
3、指数部分:用的是EXCESS系统表现。
  先看看尾数部分。对于十进制的0.75。我们有如下的表示方法:
  ①、0.75 = 0.75*10^0
  ②、0.75 = 75*10^(-2)
  ③、0.75 = 0.075*10^1
  十进制的表示正则为:小数点前面是0,小数点后面第一位不是0的规则表示。而对于二进制也是一样的道理,使用的是:将小数点前面的值固定为1的正则。也就是将二进制数表示的小数左移或右移(逻辑移位)数次后,整数部分的第一位变成1,第二位之后变成0.而且第1位的1在实际数据中不保存。
  例如:
  移位变成,确保小数点后23位:0000,仅保留小数点后面完成正则:。
  再看看指数部分。EXCESS系统表现:将指数部分表示范围的中间值设置为0,使得负数不需要用符号来表示。例如当指数部分是8为单精度浮点时,最大值的1/2即表示0。双精度类似。
  因此对于单精度浮点数的表现,其表示范围就是:11111也就是-127~128。看下面例子:
#include &stdio.h&
#include &string.h&
int main(int argc, char *argv[]) {
unsigned long
char n[34];
//将0.75以单精度浮点数形式存储在data中
data = (float)0.75;
memcpy(&buff,&data,4);
for (i=33;i&=0;i--) {
if(i==1 || i==10) {
n[i] = '-';
if(buff%2==1) {
n[i] = '1';
n[33] = '\0';
printf("%s\n",n);
运行结果:
其中6,EXCESS表示为-1。
小数点前面的第一位是1。因此尾数就是:1.也就是1.5。
也就是+1.5*2^(-1) = 0.75。
五、如何避免小数计算出错导致的问题
  可以将小数替换成整数来计算。然后在缩小相应的倍数。
  1、如果有什么Bug或者说的不对的地方,欢迎大家随时提建议或者意见。&
阅读(...) 评论()电子计算机中的二进制数码为0,1,可以转化为十进制,如二进制的101=1*2的2次方+0*2+1=5,又如的4次方+0*2的3次方+1*2的2次方+1*2+1=23则二进制中的111011
1×2∧5+1×2∧4+1×2∧3+0×2∧2+1×2∧1+1×2∧0=59.请采纳.
为您推荐:
其他类似问题
扫描下载二维码如二进制中101=1×2+0×2+1×2°,等于十进制的数是5,1+0×2+1×2+1×2°等于十进制的数
101=1×2^2+0×2^1+1×2^0=(5)十进制1^4+0×2^3+1×2^2+1×2^1+1×2^0=(23)十进制
为您推荐:
其他类似问题
扫描下载二维码2016年计算机二级考试题中有关进制转换和编码的问题
2016年计算机二级考试题中有关进制转换和编码的问
来源:应届毕业生培训网分类:计算机等级时间:编辑:少芬 已有人查看
  电子计算机能以极高速度进行信息处理和加工,包括数据处理和加工,而且有极大的信息存储能力。数据在计算机中以器件的物理状态表示,采用二进制数字系统,计算机处理所有的字符或符号也要用二进制编码来表示。用二进制的优点是容易表示,运算规则简单,节省设备。人们知道,具有两种稳定状态的元件(如晶体管的导通和截止,继电器的接通和断开,电脉冲电平的高低等)容易找到,而要找到具有10种稳定状态的元件来对应十进制的10个数就困难了。二进制数的基数是2,只有0和1两个数字,逢2进1。十进制数有0,1,&9十个数字,逢10进1。十进制和二进制对照如表所示。
  表 十进制和二进制对照表
  十进制 二进制
&&&&&&&&&&&&&&&&&&&& 0
&&&&&&&&&&&&&&&&&&&& 1
&&&&&&&&&&&&&&&&&&&& 10
&&&&&&&&&&&&&&&&&&&& 11
&&&&&&&&&&&&&&&&&&&& 100
&&&&&&&&&&&&&&&&&&&& 101
&&&&&&&&&&&&& &&&&&& 110
&&&&&&&&&&&&&&&&&&&& 111
&&&&&&&&&&&&&&&&&&&& 1000
&&&&&&&&&&&&&&&&&&&& 1001
  十进制数可以表示为an&10n+an-1&10n-1+&+a1&101+a0&100+a-1&10-1+a-2&10-2+&,其中an,an-1,&,a1,a0,a-1,a-2,&只能是0~9的任何数字。如1987可以表示为1&103+9&102+8&101+7&100。
  二进制数可以表示为an&2n+an-1&2n-1+&+a1&21+a0
  数制是人们利用符号进行计数的科学方法。数制有很多种,在计算机中常用的数制有:十进制,二进制和十六进制。
  1. 十进制数
  人们通常使用的是十进制。它的特点有两个:有0,1,2&.9十个基本字符组成,十进制数运算是按&逢十进一&的规则进行的.
  在计算机中,除了十进制数外,经常使用的数制还有二进制数和十六进制数.在运算中它们分别遵循的是逢二进一和逢十六进一的法则.
  2. 二进制数
  二进制中只有两个数,即0和1。二进制数在电气元件中容易实现、容易运算,在电子学中具有两种稳定状态以代表0和1。而需要由0和1来代表的量很多。如:电压的高和低,电灯的亮和灭,电容的充电和放电,脉冲的有和无,晶体管的导通和截止等。总之,电脑内部使用二进制,主要是为了设计和制造电脑方便。
  3. 二进制数有两个特点:它由两个基本字符0,1组成,二进制数运算规律是逢二进一。
  为区别于其它进制数,二进制数的书写通常在数的右下方注上基数2,或加后面加B表示。
  例如:二进制数可以写成(,或写成B,对于十进制数可以不加注.计算机中的数据均采用二进制数表示,这是因为二进制数具有以下特点:
  1) 二进制数中只有两个字符0和1,表示具有两个不同稳定状态的元器件。例如,电路中有,无电流,有电流用1表示,无电流用0表示。类似的还比如电路中电压的高,低,晶体管的导通和截止等。
  2) 二进制数运算简单,大大简化了计算中运算部件的结构。
  二进制数的加法和乘法运算如下:
  0+0=0 0+1=1+0=1 1+1=10
  0&0=0 0&1=1&0=0 1&1=1
  由于二进制数在使用中位数太长,不容易记忆,所以又提出了十六进制数.
  3.十六进制数
  十六进制数有两个基本特点:它由十六个字符0~9以及A,B,C,D,E,F组成(它们分别表示十进制数0~15),十六进制数运算规律是逢十六进一,鹩谄渌剖剖氖樾赐ǔT谑挠蚁路阶⑸匣保叮蚣雍竺婕樱缺硎尽?/SPAN&
  例如:十六进制数4AC8可写成(4AC8)16,或写成4AC8H。
  4. 数的位权概念
  5. 一个十进制数110,其中百位上的1表示1个102,既100,十位的1表示1个101,即10,个位的0表示0个100,即0。
  一个二进制数110,其中高位的1表示1个22,即4,低位的1表示1个21,即2,最低位的0表示0个20,即0。
  一个十六进制数110,其中高位的1表示1个162,即256,低位的1表示1个161,即16,最低位的0表示0个160,即0。
  可见,在数制中,各位数字所表示值的大小不仅与该数字本身的大小有关,还与该数字所在的位置有关,我们称这关系为数的位权。
  十进制数的位权是以10为底的幂,二进制数的位权是以2为底的幂,十六进制数的位权是以16为底的幂。数位由高向低,以降幂的方式排列。
  二、进数制之间的转换
  1.二进制数、十六进制数转换为十进制数(按权求和)
  二进制数、十六进制数转换为十进制数的规律是相同的。把二进制数(或十六进制数)按位权形式展开多项式和的形式,求其最后的和,就是其对应的十进制数&&简称&按权求和&.
  例如:把(转换为十进制数。
  =1&23+0&22+0&21+1&20+0&2-1+1&2-2
  =8+0+0+1+0.5+0.25
  把(38A.11)16转换为十进制数
  解:(38A.11)16
  =3&162+8&16+10&160+1&16-1+1&16-2
  =768+128+10+0.9
  =906.0664
  2.十进制数转换为二进制数,十六进制数(除2/16取余法)
  整数转换.一个十进制整数转换为二进制整数通常采用除二取余法,即用2连续除十进制数,直到商为0,逆序排列余数即可得到――简称除二取余法.
  例:将25转换为二进制数
  解:25&2=12 余数1
  12&2=6 余数0
  6&2=3 余数0
  3&2=1 余数1
  1&2=0 余数1
  所以25=(11001)2
  同理,把十进制数转换为十六进制数时,将基数2转换成16就可以了.
  例:将25转换为十六进制数
  解:25&16=1 余数9
  1&16=0 余数1
  所以25=(19)16
  3.二进制数与十六进制数之间的转换
  由于4位二进制数恰好有16个组合状态,即1位十六进制数与4位二进制数是一一对应的.所以,十六进制数与二进制数的转换是十分简单的.
  (1)十六进制数转换成二进制数,只要将每一位十六进制数用对应的4位二进制数替代即可――简称位分四位.
  例:将(4AF8B)16转换为二进制数.
  解: 4 A F 8 B
  所以(4AF8B)16=(
  (2)二进制数转换为十六进制数,分别向左,向右每四位一组,依次写出每组4位二进制数所对应的十六进制数――简称四位合一位.
  例:将二进制数(转换为十六进制数.
  解: 10
  所以(=1D6H
  转换时注意最后一组不足4位时必须加0补齐4位
  【小窍门】暂时还不会进制转换的同学们务必注意哦:在开始-----&运行------&输入calc(出现计算器)------&点击查看------&选择程序员(对于win7)此时可以在其验证你的进制转换做的对不对&&&&
下一篇:没有了
看了本课程的人还看了}

我要回帖

更多关于 二进制 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信