• C++
  • 0330信奥上午班-进制转换

  • @ 2024-3-30 10:56:34

进位计数制

image

将数字符号按序列排列成数位,并遵照某种由低位到高位的进位方式计数表示数值的方法,称作进位计数制。

十进制

每一位可取0~9这十个数码,计数的基数为10,超过9须用多位数来表示。

二进制

每一位可取0~1这2个数码,计数的基数为2,超过1须用多位数来表示。

八进制

每一位可取0~7这8个数码,计数的基数为8,超过7须用多位数来表示。

十六进制

每一位可取0~9,A,B,C,D,E,F这16个数码,计数的基数为16,超过F须用多位数来表示。

数制中某一位上的1所表示的数值的大小。例如,十进制123,1的权位是100,2的权位是10,3的权位是1.

K进制转十进制

按权相加法展开成一个多项式,每项是该位的数码与相应的权之职,把多项式按十进制数的规则进行求和,所得结果即是该数的十进制。

十进制转K进制

整数部分:十进制整数转换为K进制整数的方法是倒除法,即除K直至商为0,倒取余数。

小数部分:十进制小数转换为K进制小数的方法是取整法,即小数部分循环乘以K直至为0,顺序取整数部分。

二进制转八进制

整数部分:从右向左,二进制3位一组转成八进制。

小数部分:从左向右,二进制3位一组转成八进制

二进制转十六进制

整数部分:从右向左,二进制4位一组转成十六进制。

小数部分:从左向右,二进制4位一组转成十六进制

​1、​对于一个十进制数 37,以下哪个是它的二进制表示( )

A. 10101

B. 100101

C. 101001

D. 1000101

​​ 2、​下列关于十六进制的描述中,正确的是( )

A. 使用 0-9 和 A-F 表示

B. 使用 0-9 和 A-E 表示

C. 使用 1-9 和 A-F 表示

D. 使用 1-9 和 A-E 表示

​3、​二进制数 11.01 在十进制下是( )

A. 3.01

B. 3.05

C. 3.125

D. 3.25

​4、​已知大写字符'A'的 ASCII 编码的十六进制表示为 0x41,则字符'F'的 ASCII编码的十六进制表示为( )

A. 46

B. 47

C. 48

D. 49

5、下列关于进制的叙述,不正确的是( )

A. 正整数的二进制表示中只会出现 0 和 1。

B. 10 不是 2 的整数次幂,所以十进制数无法转换为二进制数。

C. 从二进制转换为 8 进制时,可以很方便地由低到高将每 3 位二进制位转换为对应的一位 8 进制位。

D. 从二进制转换为 16 进制时,可以很方便地由低到高将每 4 位二进制位转换为对应的一位 16 进制位。

6、在二进制下,1101001+( )=1110110

A. 1011

B. 1101

C. 1010

D. 1111

7、二进制数00100100和00010100的和是( )

A. 00101000

B. 01011101

C. 01000100

D. 00111000

8、二进制数111.101所对应的十进制数是( )

A. 5.625

B. 5.5

C. 6.125

D. 7.625

9、十进制小数13.375对应的二进制数是( )

A. 1101.011

B. 1011.011

C. 1101.101

D. 1010.01

10、与十进制数28.5625相等的四进制数是( )

A. 123.21

B. 131.22

C. 130.22

D. 130.21

11、十进制小数125.125对应的八进制数是( )

A. 100.1

B. 175.175

C. 175.1

D. 100.175

12、与二进制小数0.1相等的八进制数是( )

A. 0.8

B. 0.4

C. 0.2

D. 0.1

13、与16进制数A1.2等值的10进制数是( )

A. 101.2

B. 111.4

C. 161.125

D. 177.25

14、一个正整数在二进制下有100位,则它在十六进制下有( )位

A. 7

B. 13

C. 25

D. 不能确定

15、十六进制数9A在( )进制下是232

A. 四

B. 八

C. 十

D. 十二

16、在十六进制表示法中,字母A相当于十进制中的( )

A. 9

B. 10

C. 15

D. 16

17、与二进制小数0.1相等的十六进制数是( )

A. 0.8

B. 0.4

C. 0.2

D. 0.1

18、下面有四个数据组,每个组各有三个数据,其中第一个数据为八进制数,第二个数据为十进制数,第三个数据为十六进制数。这四个数据组中三个数据相同的是( )

A. 120 82 50

B. 144 100 68

C. 300 200 C8

D. 1762 1010 3F2

19、如果在某个进制下等式7*7=41成立,那么在该进制下等式12*12=( )也成立

A. 100

B. 144

C. 164

D. 196

6 条评论

  • @ 2024-4-6 10:44:07

    #include <bits/stdc++.h> using namespace std; int main() { int cs=5; int x,y; x=rand()%(100-0+1)+a; for(int i;i<=x;i++){ cin>>y; if(y<x){ cout<<"太小啦!"; cs-1; } else if(y>x){ cout<<"太大啦"; cs-1 ; } else if(yx){ cout<<"对了"; } if(cs0){ break; } } return 0; }

    • @ 2024-4-6 9:02:40

      1,B 2,A 3,D 4,A 5,B 6,B 7,D 8,D 9,A 10,D 11,C 12,D 13,C 14,C 15,D 16,B 17,A 18,D 19,A

      • @ 2024-4-6 8:25:14

        ?1、??对于一个十进制数 37,以下哪个是它的二进制表示(B)

        A. 10101

        B. 100101

        C. 101001

        D. 1000101

        ?? 2、??下列关于十六进制的描述中,正确的是(A)

        A. 使用 0-9 和 A-F 表示

        B. 使用 0-9 和 A-E 表示

        C. 使用 1-9 和 A-F 表示

        D. 使用 1-9 和 A-E 表示

        ?3、??二进制数 11.01 在十进制下是(D)

        A. 3.01

        B. 3.05

        C. 3.125

        D. 3.25

        ?4、??已知大写字符'A'的 ASCII 编码的十六进制表示为 0x41,则字符'F'的 ASCII编码的十六进制表示为(A )

        A. 46

        B. 47

        C. 48

        D. 49

        5、下列关于进制的叙述,不正确的是(B )

        A. 正整数的二进制表示中只会出现 0 和 1。

        B. 10 不是 2 的整数次幂,所以十进制数无法转换为二进制数。

        C. 从二进制转换为 8 进制时,可以很方便地由低到高将每 3 位二进制位转换为?对应的一位 8 进制位。

        D. 从二进制转换为 16 进制时,可以很方便地由低到高将每 4 位二进制位转换?为对应的一位 16 进制位。

        6、在二进制下,1101001+( B)=1110110

        A. 1011

        B. 1101

        C. 1010

        D. 1111

        7、二进制数00100100和00010100的和是( D)

        A. 00101000

        B. 01011101

        C. 01000100

        D. 00111000

        8、二进制数111.101所对应的十进制数是(D )

        A. 5.625

        B. 5.5

        C. 6.125

        D. 7.625

        9、十进制小数13.375对应的二进制数是(A )

        A. 1101.011

        B. 1011.011

        C. 1101.101

        D. 1010.01

        10、与十进制数28.5625相等的四进制数是(D )

        A. 123.21

        B. 131.22

        C. 130.22

        D. 130.21

        11、十进制小数125.125对应的八进制数是(C )

        A. 100.1

        B. 175.175

        C. 175.1

        D. 100.175

        12、与二进制小数0.1相等的八进制数是( B)

        A. 0.8

        B. 0.4

        C. 0.2

        D. 0.1

        13、与16进制数A1.2等值的10进制数是( C)

        A. 101.2

        B. 111.4

        C. 161.125

        D. 177.25

        14、一个正整数在二进制下有100位,则它在十六进制下有( C)位

        A. 7

        B. 13

        C. 25

        D. 不能确定

        15、十六进制数9A在(B )进制下是232

        A. 四

        B. 八

        C. 十

        D. 十二

        16、在十六进制表示法中,字母A相当于十进制中的( B)

        A. 9

        B. 10

        C. 15

        D. 16

        17、与二进制小数0.1相等的十六进制数是(A )

        A. 0.8

        B. 0.4

        C. 0.2

        D. 0.1

        18、下面有四个数据组,每个组各有三个数据,其中第一个数据为八进制数,第二个数据为十进制数,第三个数据为十六进制数。这四个数据组中三个数据相同的是(D )

        A. 120 82 50

        B. 144 100 68

        C. 300 200 C8

        D. 1762 1010 3F2

        19、如果在某个进制下等式77=41成立,那么在该进制下等式1212=( A)也成立

        A. 100

        B. 144

        C. 164

        • @ 2024-4-5 21:04:51

          BADABADDADCBCCBBADA

          • @ 2024-3-30 12:47:26

            image

            • @ 2024-3-30 12:46:30

              1、对于一个十进制数 37,以下哪个是它的二进制表示(B)

              A. 10101

              B. 100101

              C. 101001

              D. 1000101

              ∵37/2=18......1 18/2=9 ......0 9 /2=4 ......1 4 /2=2 ......0 2 /2=1 ......0 1 /2=0 ......1 100101 ∴选B

              2、下列关于十六进制的描述中,正确的是(A)

              A. 使用 0-9 和 A-F 表示(√)

              B. 使用 0-9 和 A-E 表示(x) F

              C. 使用 1-9 和 A-F 表示(x) 0

              D. 使用 1-9 和 A-E 表示(x) 0 F

              3、二进制数 11.01 在十进制下是(D)

              A. 3.01

              B. 3.05

              C. 3.125

              D. 3.25

              (11)2=(3)10 (0.25)10=(0.01)2 11+0.01=11.01 3+0.25=3.25

              4、已知大写字符'A'的 ASCII 编码的十六进制表示为 0x41,则字符'F'的 ASCII编码的十六进制表示为(A)

              A. 46

              B. 47

              C. 48

              D. 49 'A'=0x41 'F'=0x41+5=0x46=46

              5、下列关于进制的叙述,不正确的是(B)

              A. 正整数的二进制表示中只会出现 0 和 1。(√)

              B. 10 不是 2 的整数次幂,所以十进制数无法转换为二进制数。(x) (可以转换)

              C. 从二进制转换为 8 进制时,可以很方便地由低到高将每 3 位二进制位转换为对应的一位 8 进制位。(√)

              D. 从二进制转换为 16 进制时,可以很方便地由低到高将每 4 位二进制位转换为对应的一位 16 进制位。(√)

              6、在二进制下,1101001+(B)=1110110

              A. 1011

              B. 1101

              C. 1010

              D. 1111

              (1101001)2=(105)10 (1110110)2=(118)10 118-105=13 (13)10=(1101)2

              7、二进制数00100100和00010100的和是(D)

              A. 00101000

              B. 01011101

              C. 01000100

              D. 00111000

              (00100100)2=(36)10 (00010100)2=(20)10 20+36=56 (56)10=(00111000)2

              8、二进制数111.101所对应的十进制数是(D)

              A. 5.625

              B. 5.5

              C. 6.125

              D. 7.625

              (111)2=(7)10 (0.101)2=(0.625)10 7+0.625=7.625

              9、十进制小数13.375对应的二进制数是(A)

              A. 1101.011

              B. 1011.011

              C. 1101.101

              D. 1010.01

              (13)10=(1101)2 (0.375)10=(0.011)2 1101+0.011=1101.011

              10、与十进制数28.5625相等的四进制数是(D)

              A. 123.21

              B. 131.22

              C. 130.22

              D. 130.21

              (28)10=(130)4 (0.5625)=(0.21)4 130+0.21=130.21

              11、十进制小数125.125对应的八进制数是(C)

              A. 100.1

              B. 175.175

              C. 175.1

              D. 100.175

              (125)10=(175)8 (0.125)=(0.1)8 175+0.1=175.1

              12、与二进制小数0.1相等的八进制数是(B)

              A. 0.8

              B. 0.4

              C. 0.2

              D. 0.1

              (0.1)2=(0.5)10 (0.5)10=(0.4)8

              13、与16进制数A1.2等值的10进制数是(C)

              A. 101.2

              B. 111.4

              C. 161.125

              D. 177.25

              (A1)16=(161)10 (0.1)16=(0.125)10 161+0.125=161.125

              14、一个正整数在二进制下有100位,则它在十六进制下有(C)位

              A. 7

              B. 13

              C. 25

              D. 不能确定

              将100位的二进制数分成25组,每组4位。这样,每组可以转换成一位十六进制数。所以,100位的二进制数将转换为25位的十六进制数。 所以正确答案是C。

              15、十六进制数9A在(B)进制下是232

              A. 四

              B. 八

              C. 十

              D. 十二

              (9A)16=(154)10 (C:x) (154)10=(1222)4 (A:x) (154)10=(232)8 (B:√) (154)10=(110)12 (C:x)

              16、在十六进制表示法中,字母A相当于十进制中的(B)

              A. 9

              B. 10

              C. 15

              D. 16

              (A)16=(10)10

              17、与二进制小数0.1相等的十六进制数是(A)

              A. 0.8

              B. 0.4

              C. 0.2

              D. 0.1

              (0.1)2=(0.5)10 (0.5)10=(0.8)16

              18、下面有四个数据组,每个组各有三个数据,其中第一个数据为八进制数,第二个数据为十进制数,第三个数据为十六进制数。这四个数据组中三个数据相同的是(D)

              A. 120 82 50

              B. 144 100 68

              C. 300 200 C8

              D. 1762 1010 3F2

              def to_decimal(number, base):
                  return int(number, base)
              
              options = {
                  "A": {"octal": "120", "decimal": "82", "hex": "50"},
                  "B": {"octal": "144", "decimal": "100", "hex": "68"},
                  "C": {"octal": "300", "decimal": "200", "hex": "C8"},
                  "D": {"octal": "1762", "decimal": "1010", "hex": "3F2"}
              }
              
              equal_option = None
              for option, values in options.items():
                  if to_decimal(values["octal"], 8) == to_decimal(values["decimal"], 10) == to_decimal(values["hex"], 16):
                      equal_option = option
                      break
              
              equal_option
              
              

              结果:'D'

              19、如果在某个进制下等式77=41成立,那么在该进制下等式1212=(B)也成立

              A. 100

              B. 144

              C. 164

              D. 196

              77=(41)12 1212=(144)12

              • 1