一.正整数 :
例如42:对于初学者,迟早要面对进制的转换,或许你认为很简单 ------就拿十进制42化为二进制来讲:不就是用42除以2不断取余,直到被除数为零,然后把得到的余数倒过来排列在一起,就是要转化为的值。如图1和图2所示,最后的值为101010
十进制化为八进制,十六进制:一:当然可以模仿十进制化为二进制的方法,把除2取余法换成除8取余法和除16取余法。
二:除此之外,十进制化为八进制,十六进制也可以以二进制数为桥梁,把十进制先化为二进制,再把二进制转化为八进制和十六进制;因为此种方法有捷径:二进制化为八进制:比如101010三位拆开为101 010;再分别三位化成十进制拼接就好,即101010前三位101化为6,后三位010化为2,也就是说二进制的101010化为八进制数的结果为62.二进制化为十六进制就是四位拆开,方法和八进制是一样的。有可能你会问:10101是五位的,怎么三位三位分开?答案:你可以高位填零啊:10101=010101=010 101 这样就会了吧。
二.负整数
第一种形式:(符号-数值)形式中,在机器中数的正负“+-”符号不易表示,为方便起见,定义最高位(最左边的)数位为符号位,1代表正数,0代表负数。不如说,01010110就是42.11010110就是-42,
第二种形式:仅仅按照第一种方式以首位区分正负,到了四则运算的过程中,乘除不会出错,但加法就出现了问题:比如42+42即01010110+11010110不等于0!这是在是很不和现实的一点。于是乎,在目前的机器中,在计算中并没有采取第一种形式,而是采取了原码,反码,补码,的三种形式,下面我们来看看怎么表示负整数,以及负整数怎么化为二进制。
以-42为例,要把其转化为二进制数,如下图4所示:
ok,到这里你或许会问为什么会这样?
你还得了解 1.原码2.反码3补码的定义。
1.二进制数的原码:见上图的00101010就是原码;
2.二进制数的反码:对原码各位取反0->1,1->0,比如原码的00101010->11010101,而11010101就是反码;
3.二进制的补码:补码=反码+1 即 11010110(补码)=11010101(反码)+1;
十进制小数转为二进制数:
乘二取整法:如图5所示以0.125为例,直到积的小数部分为0或者达到题目要求的结果位数,计算结束。
图6以6.125为例,整数大于1,要把整数和小数部分分开算然后直接相加就可以了。
本文参考图片:http://jingyan.baidu.com/article/597a0643614568312b5243c0.html
版权:CSDN博客:娄钱的专栏