算法案例进位制
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
132 116 1 2 1
51
所以,110011(2)=51.
练习 1、将下面的二进制数化为十进制数?
(1)11
(2)110
2、把其他进位制的数化为十进制数的公式是什么?
anan1 a1a0(k ) an k n an1 k n1
a1
k1
a0
k
0 (10)
anan1 a1a0(k ) an k n an1 k n1
a1
k1
a0
k
0 (10)
其它进制数化成十进制数公式
二、 二进制
二进制的表示方法 二进制是用0、1两个数字来描述的.如11001
区分的写法:11001(2)或者
(1111000011(2))2 1 24 1 23 0 22 0 21 1 20
= 2× (2× (2× (2× (2× 2+1)+1)+0)+0)+1
所以89=2×(2×(2×(2×(2 × 2 +1)+1)+0)+0)+1
=2×(2×(2×(2×(22+1)+1)+0)+0)+1 =2×(2×(2×(23+2+1)+0)+0)+1 =2×(2×(24+22+2+0)+0)+1 =2×(25+23+22+0+0)+1 =26+24+23+0+0+20
练习:下列写法正确的是: (A )
A、751(16)
B、751(7)
C、095(12)
D、901(2)
anan1 a1a0(k) (0 an k, 0 an1, , a1, a0 k).
3、十进制的构成
十进制由两个部分构成 十进制:“满十进一”
第一、它有0~9十个数字;
(用10个数字来记数,称基数为10)
八进制呢?如7342(8) k进制呢? anan-1an-2…a1(k)?
三、二进制与十进制的转换
1、二进制数转化为十进制数
例1:将二进制数11Βιβλιοθήκη Baidu011(2)化成十进制数。 解:根据进位制的定义可知
110011(2) 1 25 1 24 0 23 0 22 1 21 1 20
为了区分不同的进位制,常在数的右下角标明基数, 十进制一般不标注基数.
例如十进制的133.59,写成133.59(10) 七进制的13,写成13(7);二进制的10,写成10(2)
一般地,若k是一个大于1的整数,那么以k 为基数的k进制可以表示为一串数字连写在一起 的形式:
anan1 a1a0(k) (0 an k,0 an1, , a1, a0 k).
2、十进制转换为二进制
方法:除2取余法,即用2连续去除89或所得的商,然后取余数。
例、 把89化为二进制数
解:根据“逢二进一”的原则,有
89=2×44+1
89=2×44+1
44= 2×22+0 22= 2×11+0 11= 2× 5+1 5= 2× 2+1
= 2× (2×22+0)+1 = 2×( 2×( 2×11+0)+0)+1 = 2× (2× (2× (2× 5+1)+0)+0)+1
89=1×26+0×25+1×24+1×23+0×22+0×21+1×20
其它进制:
实际上,十进制数只是计数法中的一种,但它不是唯一 记数法。除了十进制数,生产生活中还会遇到非十进制的 记数制。如时间:60秒为1分,60分为1小时,它是六十进 制的。两根筷子一双,两只手套为一副,它们是二进制的。
二进制、七进制、八进制、十二进制、 六十进制……
二进制只有0和1两个数字,七进制用0~6七个数字 十六进制有0~9十个数字及ABCDEF六个字母.
其它进制数化成十进制数公式
例2、设计一个算法,将k进制数a(共有n位)转换为十进制 数b。
(1)算法步骤: 第一步,输入a,k和n的值; 第二步,将b的值初始化为0,i的值初始化为1;
第三步,b=b+ai*ki-1, i=i+1
第四步,判断i>n是否成立.若是,则执行第五步,否则, 返回第三步; 第五步,输出b的值.
算法案例 ——进位制
新课讲解:
一、进位制
1、什么是进位制?
进位制是人们为了计数和运算方便而约定的记数系统。
进位制是一种记数方式,用有限的数字在不同的位 置表示不同的数值。可使用数字符号的个数称为基 数,基数为n,即可称n进位制,简称n进制。
比如:
满二进一,就是二进制; 满十进一,就是十进制; 满十二进一,就是十二进制; 满六十进一,就是六十进制
(2)程序框图:
开始 输入a,k,n
b=0 i=1
把a的右数第i位数字赋给t
b=b+t*ki-1
i=i+1 否
i>n?
是 输出b 结束
(3)程序:
INPUT “a,k,n=”;a,k,n b=0 i=1 t=a MOD 10 DO
b=b+t*k^(i-1) a=a\10 t=a MOD 10 i=i+1 LOOP UNTIL i>n PRINT b END
第二、它有“数位”,即从右往左为个位、十位、 百位、千位等等。 例如:3721 表示有:1个1,2个十, 7个百即7个10的平方,3 个千即3个10的立方
3721 3103 7102 2101 1100
其它进位制的数又是如何的呢?
探究:P43
若anan1 a1a0(k)表示一个k进制数,请你把它写成各位 上数字与k的幂的乘积之和的形式。
基数: “满几进一”就是几进制,几进制的基数就是几.
2、最常见的进位制是什么?除此之外还有哪 些常见的进位制?请举例说明.
• 最常见的进位制应该是我们数学中的十进 制,比如一般的数值计算,但是并不是生活 中的每一种数字都是十进制的.
• 古人有半斤八两之说,就是十六进制与十 进制的转换.
• 比如时间和角度的单位用六十进位制, 计算 “一打”数值时是12进制的。
• 电子计算机用的是二进制 。
十进制:
我们最常用最熟悉的就是十进制数,它的数值部分是十个不 同的数字符号0,1,2,3,4,5,6,7,8,9来表示的。
例如133.59,它可用一个多项式来表示:
133.59=1*102+3*101+3*100 +5*10-1+9*10-2
式中1处在百位,第一个3所在十位,第二个3所在 个位,5和9分别处在十分位和百分位。十进制数是逢 十进一的。
51
所以,110011(2)=51.
练习 1、将下面的二进制数化为十进制数?
(1)11
(2)110
2、把其他进位制的数化为十进制数的公式是什么?
anan1 a1a0(k ) an k n an1 k n1
a1
k1
a0
k
0 (10)
anan1 a1a0(k ) an k n an1 k n1
a1
k1
a0
k
0 (10)
其它进制数化成十进制数公式
二、 二进制
二进制的表示方法 二进制是用0、1两个数字来描述的.如11001
区分的写法:11001(2)或者
(1111000011(2))2 1 24 1 23 0 22 0 21 1 20
= 2× (2× (2× (2× (2× 2+1)+1)+0)+0)+1
所以89=2×(2×(2×(2×(2 × 2 +1)+1)+0)+0)+1
=2×(2×(2×(2×(22+1)+1)+0)+0)+1 =2×(2×(2×(23+2+1)+0)+0)+1 =2×(2×(24+22+2+0)+0)+1 =2×(25+23+22+0+0)+1 =26+24+23+0+0+20
练习:下列写法正确的是: (A )
A、751(16)
B、751(7)
C、095(12)
D、901(2)
anan1 a1a0(k) (0 an k, 0 an1, , a1, a0 k).
3、十进制的构成
十进制由两个部分构成 十进制:“满十进一”
第一、它有0~9十个数字;
(用10个数字来记数,称基数为10)
八进制呢?如7342(8) k进制呢? anan-1an-2…a1(k)?
三、二进制与十进制的转换
1、二进制数转化为十进制数
例1:将二进制数11Βιβλιοθήκη Baidu011(2)化成十进制数。 解:根据进位制的定义可知
110011(2) 1 25 1 24 0 23 0 22 1 21 1 20
为了区分不同的进位制,常在数的右下角标明基数, 十进制一般不标注基数.
例如十进制的133.59,写成133.59(10) 七进制的13,写成13(7);二进制的10,写成10(2)
一般地,若k是一个大于1的整数,那么以k 为基数的k进制可以表示为一串数字连写在一起 的形式:
anan1 a1a0(k) (0 an k,0 an1, , a1, a0 k).
2、十进制转换为二进制
方法:除2取余法,即用2连续去除89或所得的商,然后取余数。
例、 把89化为二进制数
解:根据“逢二进一”的原则,有
89=2×44+1
89=2×44+1
44= 2×22+0 22= 2×11+0 11= 2× 5+1 5= 2× 2+1
= 2× (2×22+0)+1 = 2×( 2×( 2×11+0)+0)+1 = 2× (2× (2× (2× 5+1)+0)+0)+1
89=1×26+0×25+1×24+1×23+0×22+0×21+1×20
其它进制:
实际上,十进制数只是计数法中的一种,但它不是唯一 记数法。除了十进制数,生产生活中还会遇到非十进制的 记数制。如时间:60秒为1分,60分为1小时,它是六十进 制的。两根筷子一双,两只手套为一副,它们是二进制的。
二进制、七进制、八进制、十二进制、 六十进制……
二进制只有0和1两个数字,七进制用0~6七个数字 十六进制有0~9十个数字及ABCDEF六个字母.
其它进制数化成十进制数公式
例2、设计一个算法,将k进制数a(共有n位)转换为十进制 数b。
(1)算法步骤: 第一步,输入a,k和n的值; 第二步,将b的值初始化为0,i的值初始化为1;
第三步,b=b+ai*ki-1, i=i+1
第四步,判断i>n是否成立.若是,则执行第五步,否则, 返回第三步; 第五步,输出b的值.
算法案例 ——进位制
新课讲解:
一、进位制
1、什么是进位制?
进位制是人们为了计数和运算方便而约定的记数系统。
进位制是一种记数方式,用有限的数字在不同的位 置表示不同的数值。可使用数字符号的个数称为基 数,基数为n,即可称n进位制,简称n进制。
比如:
满二进一,就是二进制; 满十进一,就是十进制; 满十二进一,就是十二进制; 满六十进一,就是六十进制
(2)程序框图:
开始 输入a,k,n
b=0 i=1
把a的右数第i位数字赋给t
b=b+t*ki-1
i=i+1 否
i>n?
是 输出b 结束
(3)程序:
INPUT “a,k,n=”;a,k,n b=0 i=1 t=a MOD 10 DO
b=b+t*k^(i-1) a=a\10 t=a MOD 10 i=i+1 LOOP UNTIL i>n PRINT b END
第二、它有“数位”,即从右往左为个位、十位、 百位、千位等等。 例如:3721 表示有:1个1,2个十, 7个百即7个10的平方,3 个千即3个10的立方
3721 3103 7102 2101 1100
其它进位制的数又是如何的呢?
探究:P43
若anan1 a1a0(k)表示一个k进制数,请你把它写成各位 上数字与k的幂的乘积之和的形式。
基数: “满几进一”就是几进制,几进制的基数就是几.
2、最常见的进位制是什么?除此之外还有哪 些常见的进位制?请举例说明.
• 最常见的进位制应该是我们数学中的十进 制,比如一般的数值计算,但是并不是生活 中的每一种数字都是十进制的.
• 古人有半斤八两之说,就是十六进制与十 进制的转换.
• 比如时间和角度的单位用六十进位制, 计算 “一打”数值时是12进制的。
• 电子计算机用的是二进制 。
十进制:
我们最常用最熟悉的就是十进制数,它的数值部分是十个不 同的数字符号0,1,2,3,4,5,6,7,8,9来表示的。
例如133.59,它可用一个多项式来表示:
133.59=1*102+3*101+3*100 +5*10-1+9*10-2
式中1处在百位,第一个3所在十位,第二个3所在 个位,5和9分别处在十分位和百分位。十进制数是逢 十进一的。