精华内容
下载资源
问答
  • 二进制转八进制的题
    千次阅读
    2021-02-24 15:08:41

    一、 十进制与二进制之间的转换

    1.1 十进制转换为二进制,分为整数部分和小数部分

    【1】整数部分

    方法:采用"除2取余,逆序排列"法

    即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。

    举个栗子:将十进制数168转换为二进制数

                 除数       被除数           商           余数

    第0位:168      /        2       =     84  ......    0

    第1位:84       /         2       =     42 ......     0

    第2位:42       /         2       =     21 ......     0

    第3位:21       /         2       =     10 ........   1

    第4位:10       /         2       =      5 ........    0

    第5位:5         /         2       =      2 ........    1

    第6位:2         /         2       =      1 ........    0

    第7位:1         /         2       =      0 ........    1

    最后,读数字从最后的余数向前读,即10101000

    (2)小数部分

    方法:采用"乘2取整,顺序排列"法

    即将小数部分乘以2,然后取整数部分;剩下的小数部分继续乘以2,然后取整数部分;剩下的小数部分又乘以2,一直取到小数部分为零为止。

    如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。

    换句话说就是0舍1入。读数要从前面的整数读到后面的整数。

    栗子1:将0.125换算为二进制

                 乘数            乘数           积           整数部分      小数部分

    第2位:0.125     *      2       =     0.25    ......     0    ......    0.25 

    第1位:0.25       *      2       =     0.5      ......     0    ......    0.5

    第0位:0.5         *      2       =     1.0      ......     1    ......    0.0

    最后读数,从整数部分自上而下排序,第一位读起,读到最后一位,即为0.001

    栗子2:将0.45转换为二进制(保留到小数点第四位)

                乘数            乘数              积           整数部分     小数部分

    第4位:0.45      *      2         =     0.9    ......     0      ......    0.9

    第3位:0.9        *      2         =     1.8    ......     1      ......    0.8 

    第2位:0.8        *      2         =     1.6    ......     1      ......    0.6 

    第1位:0.6        *      2         =     1.2    ......     1      ......    0.2 

    第0位:0.2        *      2         =     0.4    ......     0      ......    0.4

    从上面步骤可以看出,当第5次做乘法时候,得到的积是0.4,那么小数部分继续乘以2,得0.8;继续,0.8又乘以2的,得到1.6;然后一直乘下去,最后不可能得到小数部分为零。因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。这个也是计算机在转换中会产生误差,但是由于保留位数很多,精度很高,所以可以忽略不计。

    最后度数,从整数部分自上而下,可知将0.45转换为二进制约等于0.0111

    上面介绍的方法是十进制转换为为二进制的方法,需要大家注意的是:

    • 十进制转换为二进制,需要分成整数小数两个部分分别转换。

    • 当转换整数时,用的是除2取余法;

    • 当转换小数时,用的是乘2取整法。

    • 注意转换进制数的读数方向。

    因此,我们从上面的方法,我们可以得出十进制数168.125转换为二进制为10101000.001,或者十进制数转换为二进制数约等于10101000.0111。


    1.2 二进制转换为十进制

    方法:按权相加法

    以小数点(.)为分界点,整数部分二进制转为十进制要从右到左用二进制的每个数去乘以2的相应次方,而小数点后的则是从左往右。

    即将二进制每位上的数乘以权,然后相加之和即是十进制数。

    举个栗子:将二进制数101.101转换为十进制数。

    101.101 =1*2^2+0*2^1+1*2^0+1*2^(-1)+0*2^(-2)+1*2^(-3) = 4+0+1+1/2+0+1/8 = 5.625​​​ 

    得出结果:(101.101)2=(5.625)10

    大家在做二进制转换成十进制需要注意的是:

    • 要知道二进制每位的权值。

    • 要能求出每位的值。


    二、 二进制与八进制之间的转换

    首先,我们需要了解一个数学关系,即23=8,24=16,而八进制和十六进制是用这关系衍生而来的,即用三位二进制表示一位八进制,用四位二进制表示一位十六进制数。

    接着,记住4个数字8、4、2、1(23=8、22=4、21=2、20=1)。现在我们来练习二进制与八进制之间的转换。

    (1) 二进制转换为八进制

    方法:取三合一法

    即从二进制的小数点为分界点,向左(向右)每三位取成一位,接着将这三位二进制按权相加,得到的数就是一位八位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。如果向左(向右)取三位后,取到最高(最低)位时候,如果无法凑足三位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足三位。

    栗子1:将二进制数101110.101转换为八进制

    按照取三合一原则,将101110.101划分为:101 110 101每三位对应一位八进制数,则

    101 ----->1* 2^2 + 0* 2^1 + 1* 2^0 = 5 

    110 ----->1* 2^2 + 1* 2^1 + 0* 2^0 = 6 

    101 ----->1* 2^2 + 0* 2^1 + 1* 2^0 = 5 

    最后得到结果:将二进制101110.101转八进制数为56.5

    栗子2:将二进制数1101.1转换为八进制

    按照取三合一原则,不够三位的在高位补0,将1101.1划分为:001 101 100 每三位对应一位八进制数,则

    001 ----->0* 2^2 + 0* 2^1 + 1* 2^0 =

    101 ----->1* 2^2 + 0* 2^1 + 1* 2^0 =

    100 ----->1* 2^2 + 0* 2^1 + 0* 2^0 = 54

    得到结果:将十进制数1101.1转八进制数为15.4

    (2) 将八进制转换为二进制

    方法:取一分三法

    即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数,小数点位置照旧

    举个栗子:

    1.将八进制数67.54转换为二进制

    因此,将八进制数67.54转换为二进制数为110111.101100,即110111.1011

    大家从上面这道题可以看出,计算八进制转换为二进制

    首先,将八进制按照从左到右,每位展开为三位,小数点位置不变

    然后,按每位展开为22,21,20(即4、2、1)三位去做凑数,即a×22+ b×21 +c×20=该位上的数(a=1或者a=0,b=1或者b=0,c=1或者c=0),将abc排列就是该位的二进制数

    接着,将每位上转换成二进制数按顺序排列

    最后,就得到了八进制转换成二进制的数字。

    以上的方法就是二进制与八进制的互换,大家在做题的时候需要注意的是:

    • 他们之间的互换是以一位与三位转换,这个有别于二进制与十进制转换
    • 大家在做添0和去0的时候要注意,是在小数点最左边或者小数点的最右边(即整数的最高位和小数的最低位)才能添0或者去0,否则将产生错误

    三、 二进制与十六进制的转换

    方法:与二进制与八进制转换相似,只不过是一位(十六)与四位(二进制)的转换

    (1) 二进制转换为十六进制

    方法:取四合一法

    即从二进制的小数点为分界点,向左(向右)每四位取成一位,接着将这四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的十六进制数。如果向左(向右)取四位后,取到最高(最低)位时候,如果无法凑足四位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足四位。

    1.例:将二进制11101001.1011转换为十六进制

    按照取四合一原则,不够四位的在高位补0,将11101001.1011划分为:1110 1001 1011 每四位对应一位八进制数,则

    1110 ----->1*2^3 + 1* 2^2 + 1* 2^1 + 0* 2^0 = 14=

    1001 ----->1*2^3 + 0* 2^2 + 0* 2^1 + 1* 2^0 =

    1011 ----->1*2^3 + 0* 2^2 + 1* 2^1 + 1* 2^0 = 11=B

    得到结果:将二进制11101001.1011转换为十六进制为E9.B

    2.例:将101011.101转换为十六进制

    因此得到结果:将二进制101011.101转换为十六进制为2B.A

    (2)将十六进制转换为二进制

    方法:取一分四法

    即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧。

    1.将十六进制6E.2转换为二进制数

    因此得到结果:将十六进制6E.2转换为二进制为01101110.0010即110110.001


    四、八进制与十六进制的转换

    方法:一般不能互相直接转换,一般是将八进制(或十六进制)转换为二进制,然后再将二进制转换为十六进制(或八进制),小数点位置不变。那么相应的转换请参照上面二进制与八进制的转换和二进制与十六进制的转。


    五、八进制与十进制的转换

    (1)八进制转换为十进制

    方法:按权相加法

    即将八进制每位上的数乘以位权,然后相加之和即是十进制数。

    例:1.将八进制数67.35转换为十进制

    (2)十进制转换为八进制

    十进制转换成八进制有两种方法:

    1)间接法:先将十进制转换成二进制,然后将二进制又转换成八进制

    2)直接法:前面我们讲过,八进制是由二进制衍生而来的,因此我们可以采用与十进制转换为二进制相类似的方法,还是整数部分的转换和小数部分的转换,下面来具体讲解一下:

    1.整数部分

    方法:除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商继续除以8,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数。

    2.小数部分

    方法:乘8取整法,即将小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以8,然后取整数部分,剩下的小数部分又乘以8,一直取到小数部分为零为止。如果永远不能为零,就同十进制数的四舍五入一样,暂取个名字叫3舍4入。

    例:将十进制数796.703125转换为八进制数

    解:先将这个数字分为整数部分796和小数部分0.703125

    因此,得到结果十进制796.703125转换八进制为1434.55

    上面的方法大家可以验证一下,你可以先将十进制转换,然后在转换为八进制,这样看得到的结果是否一样


    六、十六进制与十进制的转换

    (1)十六进制转换为十进制

    方法:按权相加法

    即将十六进制每位上的数乘以位权,然后相加之和即是十进制数。

    16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15。字母不区分大小写。

    十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……

    所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。

    举个栗子:将十六进数 0X5FA5转为十进制数

    第0位:5 *16^0 = 5

    第1位:A*16^1 = 10*16^1 = 160

    第2位:F*16^2 = 15*16^2 = 3840

    第3位:5*16^3 = 20480

    将十六进数 0X5FA5转为十进制数即24485

    可以看出,所有进制换算成10进制,关键在于各自的权值不同。

    (2)十进制转换为十六进制

    十进制转换成十六进制有两种方法:

    1)间接法:先将十进制转换成二进制,然后将二进制又转换成十六进制。

    2)直接法:前面我们讲过,十六进制是由二进制衍生而来的,因此我们可以采用与十进制转换为二进制相类似的方法,还是整数部分的转换和小数部分的转换。

    下面来具体讲解一下直接法:

    • 整数部分

    方法:除16取余法

    即每次将整数部分除以16,余数为该位权上的数,而商继续除以16,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止。另外,所得到的商的最后一位余数是所求二进制数的最高位。最后读数时,从最后一个余数起,一直到最前面的一个余数。

    • 小数部分

    方法:乘16取整法

    即将小数部分乘以16,然后取整数部分,剩下的小数部分继续乘以16,然后取整数部分,剩下的小数部分又乘以16,一直取到小数部分为0为止。如果永远不能为零,就同十进制数的四舍五入一样,暂取个名字叫3舍4入。故该法称“乘基取整法”

    例:将十进制数120.12转换为十六进制数

    解:先将这个数字分为整数部分120和小数部分0.12

    因此,得到结果十进制120.12转换十六进制为0x78.1eb851eb852


    七、Java代码测试十进制分别转换为十六进制,二进制,八进制

    核心思想:余数定理

    测试类:

    /**
     * 测试:十进制数分别转换为十六进制,二进制,八进制数
     * 核心思想:余数定理
     */
    public class DataConvertDemo{
    	public static void main(String[] args){
    
    		int a = 27, b = 37, c = 47;
    
    		System.out.print("十进制数" + a + "=>十六进制输出:");
    		cha_16(a);
    
    		System.out.println();
    		System.out.print("十进制数" + b + "=>二进制输出:");
    		cha_2(b);
    
    		System.out.println();
    		System.out.print("十进制数" + c + "=>八进制输出:");
    		cha_8(c);
    	}
    
    	/**
    	 *
    	 * 转为16进制
    	 */
    	static void cha_16(int n) {
    		if (n >= 16) {
    			cha_16(n / 16);
    		}
    		if (n % 16 < 10) {
    			System.out.print(n % 16);
    		} else{
    			System.out.print((char) (n % 16 + 55));
    		}
    	}
    
    	/**
    	 * 转为2进制
    	 */
    	static void cha_2(int n) {
    		if (n >= 2){
    			cha_2(n / 2);
    		}
    		System.out.print(n % 2);
    	}
    
    	/**
    	 * 转为8进制
    	 */
    	static void cha_8(int n) {
    		if (n >= 8) {
    			cha_8(n / 8);
    			System.out.print(n % 8);
    		} else{
    			System.out.print(n);
    		}
    	}
    }

    测试结果:

    十进制数27=>十六进制输出:1B
    十进制数37=>二进制输出:100101
    十进制数47=>八进制输出:57

    更多相关内容
  • 嘿嘿嘿附上题目及作答模板:二进制转八进制作答要求呢是不能修改其他代码,反正是难倒我了,死活想不出来,直接看答案吧,发现竟然看不懂。。。标准答案:你们看的懂吗。。前需知:首先这里用到了ord()函数,这个...

    这几天一个二级题一直困扰着我,看答案竟然看不懂~~~

    因为不是计算机专业出身,所以很多基础的计算机知识缺乏很多呀!

    辛亏有凡大神给我讲解。。。嘿嘿嘿

    附上题目及作答模板:

    95bd37735d14

    二进制转八进制

    作答要求呢是不能修改其他代码,反正是难倒我了,死活想不出来,直接看答案吧,发现竟然看不懂。。。

    标准答案:

    95bd37735d14

    你们看的懂吗。。

    题前需知:

    首先这里用到了ord()函数,这个函数是以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值

    常用的Unicode字符与数值转换:

    - 数字48-57 —— 代表字符‘0’-‘9’

    - 数字65-90 —— 代表字符‘A’-‘Z’

    - 数字97-122 —— 代表字符‘a’-‘z’

    这里需要说一下进制之间的转化:

    二进制的1100,转换为十进制,是这样计算的:二进制【1100】= 【1×(2^3)+1×(2^2)+0×(2^1)+0×(2^0)】十进制 = 12

    就是任何进制的数转换为十进制,只需用:每个数×进制的次方

    (次方是由这个数所在的位置确定的)(位置是从右往左数,从0开始计数)

    附上一份详细的理解过程:

    这个题的输入:字符串“1100”

    # ① 第一轮循环: s="1100" , d=0

    s[0] = 字符"1" , 所以通过Unicode字符与数值转换: ord(s[0]) = ord("1") = 数字 49

    通过Unicode字符与数值转换,ord('0') = 数字48

    因此:d = d*2 + (ord(s[0]) -ord('0')) = 0 + (49-48) = 1

    s = [1:]="100"

    # ② 第二轮循环: s="100" , d=1

    s[0] = 字符"1" , 所以通过Unicode字符与数值转换: ord(s[0]) = ord("1") = 数字 49

    通过Unicode字符与数值转换,ord('0') = 数字48

    因此:d = d*2 + (ord(s[0]) -ord('0')) = 2 + (49-48) = 3

    s = [1:]="00"

    # ③ 第三轮循环: s="00" , d=3

    s[0] = 字符"1" , 所以通过Unicode字符与数值转换: ord(s[0]) = ord("0") = 数字 48

    通过Unicode字符与数值转换,ord('0') = 数字48

    因此:d = d*2 + (ord(s[0]) -ord('0')) = 2 + (48-48) = 6

    s = [1:]="0"

    # ④ 第四轮循环: s="0" , d=6

    s[0] = 字符"1" , 所以通过Unicode字符与数值转换: ord(s[0]) = ord("0") = 数字 48

    通过Unicode字符与数值转换,ord('0') = 数字48

    因此:d = d*2 + (ord(s[0]) -ord('0')) = 12 + (48-48) = 12

    s = [1:]=""

    到此,循环结束~

    其实这个方法就是运用的最基础的把二进制转换为十进制的算法,里面的d都可以拆分开。

    总结下来就是前面提到的这个公式:二进制【1100】= 【1×(2^3)+1×(2^2)+0×(2^1)+0×(2^0)】十进制 = 12

    最后只需将十进制的数字 12 ,用format()函数转换为八进制即可。

    答案就是 14 呀!!!

    只想说这题要做出来要的功底太扎实了。。。

    加油加油!!!

    展开全文
  • 数制及相互转换一、单选1、下列数据中数值最小的是A、01110000BB、249DC、125QD、AAH2、下列数据中数值最大的是A、3FHB、64DC、77QD、111110B3、下列数据中数值最大的是A、100HB、100DC、100QD、100B4、十进制数24...

    数制及相互转换

    1-124-jpg_6_0_______-596-0-0-596.jpg

    一、单选题

    1、下列数据中数值最小的是

    A、01110000B

    B、249D

    C、125Q

    D、AAH

    2、下列数据中数值最大的是

    A、3FH

    B、64D

    C、77Q

    D、111110B

    3、下列数据中数值最大的是

    A、100H

    B、100D

    C、100Q

    D、100B

    4、十进制数24转换成二进制数是

    A、11100

    B、11010

    C、11000

    D、10100

    5、下列数据中数值最小的是

    A、11110000(二进制)

    B、249(十进制)

    C、274(八进制)

    D、FA(十六进制)

    6、下列数据中数值最大的是

    A、11101101(二进制)

    B、235(十进制)

    C、351(八进制)

    D、EE(十六进制)

    7、下列各数中最大的是

    A、11010110B

    B、D7 H

    C、214D

    D、325Q

    8、与二进制数100101等值的十进制数是

    A、34

    B、35

    C、36

    D、37

    9、与十进制数256等值的二进制数是

    A、1000000

    B、10000000

    C、100000000

    D、1000000000

    10、与十六进制数ACE等值的十进制数是

    A、2766

    B、2765

    C、2764

    D、2763

    11、十六进制数111与八进制数111之和,用八进制数表示为

    A、310

    B、1222

    C、1000

    D、532

    12、按某种进制运算2 × 4=12,那么4 × 5为

    A、20

    B、32

    C、24

    D、12

    13、若216是某种数制的一个数,它的值与十六进制数8E相等,则该数是()进制数。

    A、六

    B、八

    C、九

    D、十

    14、下列各数中,属于合法的五进制数的是

    A、216

    B、123

    C、354

    D、189

    15、下列无符号十进制中,能用8位二进制表示的是

    A、257

    B、288

    C、256

    D、255

    16、无符号二进制数后加上一个0,形成的数是原来的几倍?

    A、1

    B、2

    C、1/2

    D、4

    17、下列数据中数值最大的是

    A、(10000)2

    B、(17)8

    C、(17)10

    D、(10)16

    18、某学校有1500名学生,若用二进制来编学号,需要多少位来表示。

    A、10

    B、11

    C、12

    D、13第1页

    19、十进制数153转换成二进制数应为

    A、10011001

    B、10100001

    C、10000110

    D、1110110

    20、与二进制数1011001等值的十进制数是

    A、88

    B、98

    C、89

    D、92

    21、将八进制数154转换成二进制数是

    A、1111010

    B、1110100

    C、1110110

    D、1101100

    22、下列数据中最小的是

    A、1110001

    B、35Q

    C、27H

    D、65D

    23、将十六进制数163转换成二进制数是

    A、1101010101

    B、110101010

    C、1110101011

    D、101100011

    24、与十进制776等值的十六进制数是

    A、308

    B、213

    C、231

    D、132

    二、多选题

    1、下列数中,与(123)12 的值相同的有

    A、(10101011)2

    B、(253)8

    C、(170)10

    D、(AB)16

    2、下列数中,数值相等的数据有

    A、(101010)2

    B、42

    C、(52)8

    D、(2A)16

    3、下列数中,与八进制数100相等的是

    A、(1000000)2

    B、(144)6

    C、65

    D、(40)16

    4、下列数中,与十六进制数100相等的是

    A、(100000000)2

    B、(400)8

    C、256

    D、(194)12

    5、下列叙述正确的是

    A、计算机内所有的信息都转换为二进制进行存储和处理

    B、在计算机内部使用二进制有很多优点

    C、计算机能直接识别二进制数和八进制数

    D、二进制是由“1”和“2”两个基本符号组成

    6、与二进制数11011等值的数是

    A、330

    B、27D

    C、27H

    D、1BH

    7、与十进制数55等值的数是

    A、110110B

    B、110111B

    C、67Q

    D、37H

    8、与八进制数73等值的数是

    A、111110B

    B、59D

    C、49H

    D、2BH

    9、计算机内部采用二进制来表示信息和进行运行的原因是

    A、两种物理状态容易实现

    B、两种状态的系统稳定性高

    C、二进制运算简单

    D、硬件容易实现

    三、判断题

    1、152是某种数制的一个数,若它的值要与十六进制数6A相等,则该数必须是十进制数。

    2、十六进制的17与八进制的27是等值的,十六进制的27和八进制的47也是等值的。

    3、与十六进制数7DQ等值的十进制数是2000。

    4、与十进制数4095等值的十六进制数是FFF。

    5、以计算机处理的信息最终都必须转换成二进制编码,才能被计算机识别。

    6、把二进制数小数点向右移动1位,数值就扩大到原来的2倍。

    7、把任意R进制数按权展开求和,就实现了R进制对十进制的转换。第2页

    3-309-png_6_0_0_135_304_498_348_892.979_1262.879-443-0-370-443.jpg

    奔波在俗世里,不知从何时起,飘来一股清流,逼着每个人优秀。

    人过四十,已然不惑。我们听过别人的歌,也唱过自己的曲,但谁也逃不过岁月的审视,逃不过现实的残酷。如若,把心中的杂念抛开,苟且的日子里,其实也能无比诗意。第3页

    借一些时光,寻一处宁静,听听花开,看看花落,翻一本爱读的书,悟一段哲人的赠言,原来,日升月落,一切还是那么美。

    洗不净的浮沉,留给雨天;悟不透的凡事,交给时间。很多时候,人生的遗憾,不是因为没有实现,而是沉于悲伤,错过了打开心结的时机。

    有人说工作忙、应酬多,哪有那么多的闲情逸致啊?记得鲁迅有句话:“时间就像海绵里的水,只要挤总是有的。”

    不明花语,却逢花季。一路行走,在渐行渐远的时光中,命运会给你一次次洗牌,但玩牌的始终是你自己。

    坦白的说,我们遇到困扰,经常会放大自己的苦,虐待自己,然后落个遍体鳞伤,可怜兮兮地向世界宣告:自己没救了!可是,那又怎样?因为,大多数人关心的都是自己。一个人在成年后,最畅快的事,莫过于经过一番努力后,重新认识自己,改变自己。学会了独自、沉默,不轻易诉说。因为,更多的时候,诉说毫无意义。

    伤心也好,开心也好,过去了,都是曾经。每个人都要追寻活下去的理由,心怀美好,期待美好,这个世界,就没有那么糟糕。

    或许,你也会有这样的情节,两个人坐在一起,杂乱无章的聊天,突然你感到无聊,你渴望安静,你想一个人咀嚼内心的悲与喜。

    透过窗格,发着呆,走着神,搜索不到要附和的词。那一刻,你明白了,这世间不缺一起品茗的人,缺的是一个与你同步的灵魂。

    没有了期望的懂,还是把故事留给自己吧!每个人都是一座孤岛,颠沛流离,浪迹天涯。有时候,你以为找到了知己,其实,你们根本就是两个世界的人。

    花,只有在凋零的时候,才懂得永恒就是在落红中重生;人,只有在落魄的时候,才明白力量就是在破土中崛起?.

    因为防备,因为经历,我们学会了掩饰,掩饰自己内心的某些真实,也在真实中,扬起无懈可击的微笑,解决一个又一个的困扰。

    人生最容易犯的一个错误,就是把逝去的当作最美的风景。所以,不要活在虚妄的世界,不要对曾经存在假设,不要指望别人太多。

    有些情,只可随缘,不可勉强;有些人,只可浅交,不可入深;有些话,只可会意,不可说穿。

    或许,有这么一段情,陪你度过漫长冰冷的寒冬;有那样一个人,给你抑郁的天空画上了温暖的春阳。

    但时光,总会吹散很多往事,把过去一片片分割,移植到不同区域,并贴上标签,印着不同的定义,也定义着自己的人生态度。

    正如庄子所说:“唯至人乃能游于世不避,顺人而不失己。”外在的世界,只是一个形式,而你内在的世界,才是真正的江山。

    丰富自己,取悦自己,随缘,随顺,随境,你的心才会敞开,才会接纳更多的有可能。这样的人生,眼睛里的笑意,尽是踏实与真味。

    年少时,那些说给蓝天白云的梦想,早已遗忘在风中,再也飞不到岁月的枝头。褪去稚气与懵懂,我更喜欢现在的自己,心里撑着宽阔,却不动声色。

    即便,一份静谧的从容是多么的难,但我依旧期待。我相信,人生还会很长,还会一直邂逅,但最美的,必是那个明天的自己。第4页

    5-581-png_6_0_0_135_119_588_654_892.979_1262.879-523-0-676-523.jpg

    \第5页

    展开全文
  • /**** Copyright(C) 2011, SKYCNC* All rights reserved** 程序名称:dec_to_bin_oct_hex* 功 能:输入一个十进制数,将其转化为二进制八进制、十六进制** 作 者:zhanghbboy* 完成日期:11.07.27****/#include#...

    /***

    * Copyright(C) 2011, SKYCNC

    * All rights reserved

    *

    * 程序名称:dec_to_bin_oct_hex

    * 功    能:输入一个十进制数,将其转化为二进制、八进制、十六进制

    *

    * 作    者:zhanghbboy

    * 完成日期:11.07.27

    *

    ***/

    #include

    #include

    #include

    void dec_to_bin(int x); //函数调用定义

    void dec_to_oct(int x);

    void dec_to_hex(int x);

    int main(void)  // 计算机中,int 占用4个字节- -

    {

    int decNum;

    printf("请输入一个十进制整数:\n");

    scanf("%d", &decNum);

    dec_to_bin(decNum);

    dec_to_oct(decNum);

    dec_to_hex(decNum);

    return 0;

    }

    void dec_to_bin(int x)

    {

    char *table="01";

    char array[33];

    int num;

    num = x;

    array[32] = '\0';

    int i = 31;

    if (x > 0)

    {

    memset(array,'0',32);

    while(x)

    {

    array[i--] = table[x % 2];

    x = x/2;

    }

    }

    if (x < 0)

    {

    memset(array,'1',32);

    int j;

    for(j=0; j<32; j++)

    {

    array[i--] = table[x & 0x01];

    x >>= 1;

    }

    }

    printf("十进制数%d <======>对应二进制为%s\n", num, array);

    }

    void dec_to_oct(int x)

    {

    char *table = "01234567";

    char array[12]; //数组设定为12.是因为除了结束符之外,考虑到负数的输入,

    //其转化为补码再转为八进制数出,32位每三个取组成一个8进制数。因此元素为11个。

    int num;

    num = x;

    array[11] = '\0';

    int i = 10;

    if (x > 0)

    {

    memset(array,'0',11);

    while(x)

    {

    array[i--] = table[x % 8];

    x = x/8;

    }

    }

    if (x < 0)

    {

    memset(array,'1',11);

    int j;

    for(j=0; j<10; j++)// 32/3 = 10;

    {

    array[i--] = table[x & 0x07];

    x >>= 3;

    }

    array[i] = table[x & 0x03];

    }

    printf("十进制数%d <======>对应八进制为%s\n", num, array);

    }

    void dec_to_hex(int x)

    {

    char *table = "0123456789abcdef";

    char array[9];

    array[8] = '\0';

    int i = 7, num;

    num = x;

    if (x > 0)

    {

    memset(array,'0',8);

    while(x)

    {

    array[i--] = table[x % 16];

    x = x / 16 ;

    }

    }

    else

    {

    memset(array,'1',8);

    int j;

    for(j=0; j<8; j++)

    {

    array[i--] = table[x & 0x0f];

    x >>= 4;

    }

    }

    printf("十进制数%d <======>对应十六进制为%s\n", num, array);

    }

    /***

    *

    *  输出结果

    *

    ***/

    0818b9ca8b590ca3270a3433284dd417.png

    /***

    *

    *  说明:int 所占内存几个字节跟机器有关,我的是win32. int占4位,在VC++环境下编译正确

    *

    ***/

    展开全文
  • 前言:前些天看到有人在把十进制转二进制时,是用余数短除法,想了哈还是来写点分享给大家,让我们共同进步。 目录 1、二进制与十进制之间的转换 2、二进制八进制之间的转换 3、二进制与十六进制之间的转换 ...
  • 本文目錄進制介紹二进制转进制八进制转十进制十六进制十进制十进制转二进制十进制八进制十进制十六进制二进制转八进制二进制转十六进制八进制转二进制十六进制转二进制 進制介紹 对于整数,有四种表示方式:...
  • 十进制转为八进制和十进制转二进制差不多,看图: 因此,十进制数45转为二进制数55。 十进制十六进制 使用十进制的数据不断除以16,直到商为0为止。从下往上取余数就是对应的十六进制。 十进制数38十六进制为...
  • 十进制数1000对应二进制数为______,对应十六进制数为______。供选择的答案A:①1111101010 ②1111101000 ③1111101100 ④1111101110B:①3C8 ②3D8 ③3E8 ④3F82.十进制小数为0.96875对应的二进制数为______,对应...
  •  给定n个十六进制正整数,输出它们对应的八进制数。 输入格式  输入的第一行为一个正整数n (1<=n<=10)。  接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制...
  • 最全操作符详解即二进制八进制,十进制,十六进制代码转换
  • 一、二进制与十进制互 二进制转十进制 1011010.100101(2)=90.578125(10) 方法一:“按权相加”法 256 128 64 32 16 8 4 2 1 . 0.5 0.25 0.125 0.0625 0.03125 0.015625 0.078125 0.00390625 28 27 26 25...
  • 十进制转二进制:整数部分和小数部分分别转换,然后再合并,十进制整数转换为二进制整数的方法为“除2取余”;十进制小数转化为二进制小数为“乘2取整”。(整数部分按从下往上的顺序取值,小数部分按从上往下的顺序...
  • 问题描述: 给你一些正二进制数M(0<= M<= 1111111111),请你将它们转换成八进制数。 输入: 第一行一个正整数N(0<...接下来 N 行正二进制数M(0<...1. 1位八进制数等于3位二进制数 reason:3位的二...
  • 试题 基础练习 十六进制转八进制 问题描述  给定n个十六进制正整数,输出它们对应的八进制数。 输入格式  输入的第一行为一个正整数n (1<=n<=10)。  接下来n行,每行一个由09、大写字母AF组成的字符串,...
  • 全局定义一定不要丢了全局定义base = [str(x) for x in range()] + [ chr(x) for x in range(ord('A'),ord('A')+)]二进制 to 十进制 : int(str,n=)def bin2dec(string_num):return str(int(string_num, ))十六进制 ...
  • 八进制转换二进制

    千次阅读 2021-01-15 19:28:34
    八进制转换二进制 题目描述 请将一个100位以内的8进制整数转换为2进制整数! 输入 100位以内的8进制整数 输出 该数对应的2进制整数 样例输入复制 12376532347173217361 样例输出复制 ...
  • 前言:计算机系统中常用的进位数制有二进制八进制、十进制、十六进制,对于任何一种进位数制,其表示的数都可以写成按权展开的 多项式。 1. 十进制与二进制的相互转换 1.1 十进制转二进制   十进制数转换为...
  • Java实现蓝桥杯十六进制转八进制

    万次阅读 多人点赞 2019-06-06 20:54:50
    基础练习 十六进制转八进制 时间限制:1.0s 内存限制:512.0MB 提交此 锦囊1 锦囊2 问题描述  给定n个十六进制正整数,输出它们对应的八进制数。 输入格式  输入的第一行为一个正整数n (1<=n<=10)。  ...
  • 十进制,二进制八进制,十六进制的转化-选择
  • 进制转换试题

    千次阅读 2021-07-21 05:03:59
    1. 计算机基础试题十进制数100.6875转换成二进制数为(),十六进制数表示为()如果忽略小数点1006875(10进制)=11110101110100011011(2进制)1006875(10进制)=f5d1b(16进制)2. 进制转换练习1、3*512+7*64+4*8+5=2021=...
  • 计算机网络基础之进制之间转换(二进制八进制、十进制、十六进制目录)计算机网络基础之进制之间转换(二进制八进制、十进制、十六进制...二进制转八进制8、二进制转十六进制9、最后附上八位二进制对应十进制的数值...
  •  给定n个十六进制正整数,输出它们对应的八进制数。 输入格式  输入的第一行为一个正整数n (1<=n<=10)。  接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制...
  • 二进制换算(进制转换计算器)

    千次阅读 2021-07-24 03:13:37
    急求~先把它转换成为 10进制 变成90 变180 然后再转换成为2进制 10110100我看了一下像是一道二进制 有谁知道答案帮帮忙 谢谢了 问着五个灯泡最.简便算法:111111=1000000-1(二进制)1000000(二进制)=1*2的六次方=...
  • 十六进制转二进制二进制转八进制问题将十六进制的字符串转换为二进制字符串将二进制的字符串转换为八进制的字符串运行效果图完结 问题 问题描述  给定n个十六进制正整数,输出它们对应的八进制数。 输入格式  ...
  • 所谓2进制就是逢2进1,我们最熟悉的是10进制,即逢10进1,比如:0,1,2,3,4,5,6,7,8,9,然后进1就是:10,11,12,13……,所以2进制就是:0,1,10,11,100,101,110,111……同样的比较常用的还有八进制、十六进制等,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 47,551
精华内容 19,020
热门标签
关键字:

二进制转八进制的题