数字系统(数码系统)

  数字系统(数码系统)定义了如何用独特的符号来表示一个数字。

  数字系统分为位置化数字系统和非位置化数字系统。

位置化数字系统

  在位置化数字系统中,数字中符号所占据的位置决定了其表示的值。

位置化数字系统的表示

    ±(Sk-1Sk-2…S3S2S1S0.S-1S-2S-3…S-L)b;

位置化数字系统的(十进制)值

   N=±Sk-1×bk-1+Sk-2×bk-2+…+S3×b3+S2×b2+S1×b1+S0×b0+S-1×b-1+S-2×b-2+S-3×b-3+…+S-L×b-L;

  其中:

  • S是一套符号集。
  • b是基数。
  • 从小数点开始,b的幕可以从一个方向由0到k-l,还可以从另一个方向由-1到-L;
  • 即b的非负数次幕与该数字的整数部分有关,而b的负数次幂与该数字的小数部分有关;
  • ±符号表示该数字可正可负。

十进制系统(Decimal)

  • 基数b=10;
  • 符号集S={0,1,2,3,4,5,6,7,8,9};
  • 整数值表示: N = ±Sk-1×10k-1+Sk-2×10k-2+…+S3×103+S2×102+S1×101+S0×100;
  • 实数值表示: N = ±Sk-1×10k-1+Sk-2×10k-2+…+S3×103+S2×102+S1×101+S0×100+S-1×10-1+S-2×10-2+S-3×10-3+…+S-L×10-L;

二进制系统(Binary)

  • 基数b=2;
  • 符号集S={0,1};
  • 整数值表示: N = ±Sk-1×2k-1+Sk-2×2k-2+…+S3×23+S2×22+S1×21+S0×20;
  • 实数值表示: N = ±Sk-1×2k-1+Sk-2×2k-2+…+S3×23+S2×22+S1×21+S0×20+S-1×2-1+S-2×2-2+S-3×2-3+…+S-L×2-L;
二进制的部分权值
(值)2(值)10
2011
21102
221004
2310008
241000016
2510000032
26100000064
2710000000128
28100000000256
291000000000512
210100000000001024

 

 

十六进制系统(Hexadecimal)

 

  • 基数b=16;
  • 符号集S={0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F};
  • A,B,C,D,E,F分别等于10,11,12,13,14,15;
  • 整数值表示: N = ±Sk-1×16k-1+Sk-2×16k-2+…+S3×163+S2×162+S1×161+S0×160;
  • 实数值表示:尽管一个实数可以用十六进制系统表示,但并不常见。

 

 八进制系统(Octal)

 

  • 基数b=8;
  • 符号集S={0,1,2,3,4,5,6,7};
  • 整数值表示: N = ±Sk-1×8k-1+Sk-2×8k-2+…+S3×83+S2×82+S1×81+S0×80;
  • 实数值表示:尽管一个实数可以用八进制系统表示,但并不常见。

 

四种进位计数制小结

进位计数制形式表示基数符号集ExampleOr Example
十进制D100,1,2,3,4,5,6,7,8,9(123.12) 10(123.12)D
二级制B20,1 (1001.11)2(1001.11)B
八进制O80,1,2,3,4,5,6,7(156.23) 8(156.23)O
十六进制H160,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(A2C.A1)16 (A2C.A1)H

比较四种进位计数制表示同一数字

十进制二进制八进制十六进制
0000
1111
21022
31133
410044
510155
611066
711177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

 数字 15 在十进制中使用2个数码,在二进制中使用4个数码,在八进制中使用2个数码,在十六进制中仅仅使用1个数码;十六进制表示法显然是最短的。即在采用不同的数制表示同一个数时,基数越大,则使用的位数越小。所以在程序的书写中,一般采用八进制或十六进制表示数据。

 进制转换——R进制转换为十进制

   将R进制数按权展开求和即可等到相应的十进制数。

  Example:将这三个数转换为十进制数值。

        (10110)B = (1×24+0×23+1×22+1×21+0×20)D

              = (16+0+4+2+0)D

              = (22)D

 

        (234)O = (2×82+3×81+4×80)D

            = (128+24+4)D

            = (156)D

 

        (234)H = (2×162+3×161+4×160)D

             = (512+48+4)D

             = (564)D

 

 进制转换——R进制转换为十进制

  整数部分:

  将十进制整数转换为R进制数,采用“除R取余法”,即将十进制整数连续地除以R取余数,直到商为0。将最后一个余数最为R进制数的第一位,将倒是第二个余数作为R进制数的第二位,依次类推得到R进制数的整数部分。

  小数部分:

  小数部分的转换采用“乘R取整法”,即将十进制小数部分不断乘以R取整,直到小数部分为0或达到要求的精度(当小数部分永远不会达到0时)。取得的整数的排列次序与取得顺序一致,即首次取得的整数作为R进制数小数部分的第一位,最后一次取得的整数作为R进制数小数部分的最后一位。

 

  Example1

  (225.8125)D → 二进制数

 

 

  所以 (225.8125)D = (11100001.1101)B

  Example2

  将十进制数225.15转换八进制数。

   所以(225.15)D = (341.114)O。

 

 进制转换——八进制十六进制之间的转换 

  计算及内部数据的表示和运算非常适合二进制,但位数过长 。所以在书写程序和数据时,经常采用八进制或十六进制,这两种进位计数制相比于二进制位数要简短得多。

  八进制与十六进制之间的转换依赖于二进制、八进制、十六进制之间的特殊关系。

  81 = 23;    1位八进制数相当于3位二进制数。

  161 = 24;  1位十六进制数相当于4位二进制数。

二进制数、八进制数、十六进制数之间的关系表
八进制数对应二进制数十六进制数对应二进制数十六进制数对应二进制数
00000000081000
10011000191001
201020010A1010
301130011B1011
410040100C1100
510150101D1101
611060110E1110
711170111F1111

   根据这种对应关系。

  将二进制转换为八进制时,从小数点开始分别向左右两边分组,每3位为一组,两头不足3位补0。再分别进行转换。

  将二进制转换为十六进制时,从小数点开始分别向左右两边分组,每4位为一组,两头不足4位补0。再分别进行转换。

  Example1:将二进制数(10101011.110101)B分别转换为八进制数和十六进制数。

  (10101011.110101)B = (010 101 011 • 110 101)B = (253.65)  {010=2,101=5,011=3,110=6,101=5};

  (10101011.110101)B = (1010 1011 • 1101 0100)B = (AB.D4)H   {1010=A,1011=B,1101D,0100=4};

 

  同样的,将八进制数或十六进制数转换为二进制数,将八进制数的1位转换为二进制数的3位,将十六进制数的1位转换为二进制数的4位即可。

 

  八进制数与十六进制数之间的转换将二进制数作为中间量来完成。

非位置化数字系统(了解即可)

  如罗马数字

  1-Ⅰ、2-Ⅱ、3-Ⅲ、4-Ⅳ、5-Ⅴ、6-Ⅵ、7-Ⅶ、8-Ⅷ、9-Ⅸ。

  10-Ⅹ、11-Ⅺ、12-Ⅻ、13-XIII、14-XIV、15-XV、16-XVI、17-XVII、18-XVIII、19-XIX、20-XX

转载于:https://www.cnblogs.com/victoryluyun/p/11079848.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值