进制转换对照表(0~255) - 十进制,十六进制,八进制,二进制Dec Hex Oct Bin
0 1 2 3 4 5 6 7 8 9
10
11
12
13
14
15 0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
000
001
002
003
004
005
006
007
010
011
012
013
014
015
016
017
00000000
00000001
00000010
00000011
00000100
00000101
00000110
00000111
00001000
00001001
00001010
00001011
00001100
00001101
00001110
00001111
Dec Hex Oct Bin
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
020
021
022
023
024
025
026
027
030
031
032
033
034
035
036
037
00010000
00010001
00010010
00010011
00010100
00010101
00010110
00010111
00011000
00011001
00011010
00011011
00011100
00011101
00011110
00011111
Dec Hex Oct Bin
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
040
041
042
043
044
045
046
047
050
051
052
053
054
055
056
057
00100000
00100001
00100010
00100011
00100100
00100101
00100110
00100111
00101000
00101001
00101010
00101011
00101100
00101101
00101110
00101111
Dec Hex Oct Bin
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
060
061
062
063
064
065
066
067
070
071
072
073
074
075
076
077
00110000
00110001
00110010
00110011
00110100
00110101
00110110
00110111
00111000
00111001
00111010
00111011
00111100
00111101
00111110
00111111
Dec Hex Oct Bin
64
65
66
67
68
69
70 40
41
42
43
44
45
46
100
101
102
103
104
105
106
01000000
01000001
01000010
01000011
01000100
01000101
01000110
Dec Hex Oct Bin
80
81
82
83
84
85
86
50
51
52
53
54
55
56
120
121
122
123
124
125
126
01010000
01010001
01010010
01010011
01010100
01010101
01010110
Dec Hex Oct Bin
96
97
98
99
100
101
102
60
61
62
63
64
65
66
140
141
142
143
144
145
146
01100000
01100001
01100010
01100011
01100100
01100101
01100110
Dec Hex Oct Bin
112
113
114
115
116
117
118
70
71
72
73
74
75
76
160
161
162
163
164
165
166
01110000
01110001
01110010
01110011
01110100
01110101
01110110
71
72
73
74
75
76
77
78
79 47
48
49
4A
4B
4C
4D
4E
4F
107
110
111
112
113
114
115
116
117
01000111
01001000
01001001
01001010
01001011
01001100
01001101
01001110
01001111
87
88
89
90
91
92
93
94
95
57
58
59
5A
5B
5C
5D
5E
5F
127
130
131
132
133
134
135
136
137
01010111
01011000
01011001
01011010
01011011
01011100
01011101
01011110
01011111
103
104
105
106
107
108
109
110
111
67
68
69
6A
6B
6C
6D
6E
6F
147
150
151
152
153
154
155
156
157
01100111
01101000
01101001
01101010
01101011
01101100
01101101
01101110
01101111
119
120
121
122
123
124
125
126
127
77
78
79
7A
7B
7C
7D
7E
7F
167
170
171
172
173
174
175
176
177
01110111
01111000
01111001
01111010
01111011
01111100
01111101
01111110
01111111
Dec Hex Oct Bin
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 80
81
82
83
84
85
86
87
88
89
8A
8B
8C
8D
8E
8F
200
201
202
203
204
205
206
207
210
211
212
213
214
215
216
217
10000000
10000001
10000010
10000011
10000100
10000101
10000110
10000111
10001000
10001001
10001010
10001011
10001100
10001101
10001110
10001111
Dec Hex Oct Bin
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
90
91
92
93
94
95
96
97
98
99
9A
9B
9C
9D
9E
9F
220
221
222
223
224
225
226
227
230
231
232
233
234
235
236
237
10010000
10010001
10010010
10010011
10010100
10010101
10010110
10010111
10011000
10011001
10011010
10011011
10011100
10011101
10011110
10011111
Dec Hex Oct Bin
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
AA
AB
AC
AD
AE
AF
240
241
242
243
244
245
246
247
250
251
252
253
254
255
256
257
10100000
10100001
10100010
10100011
10100100
10100101
10100110
10100111
10101000
10101001
10101010
10101011
10101100
10101101
10101110
10101111
Dec Hex Oct Bin
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
B0
B1
B2
B3
B4
B5
B6
B7
B8
B9
BA
BB
BC
BD
BE
BF
260
261
262
263
264
265
266
267
270
271
272
273
274
275
276
277
10110000
10110001
10110010
10110011
10110100
10110101
10110110
10110111
10111000
10111001
10111010
10111011
10111100
10111101
10111110
10111111
Dec Hex Oct Bin Dec Hex Oct Bin Dec Hex Oct Bin Dec Hex Oct Bin
192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 C0
C1
C2
C3
C4
C5
C6
C7
C8
C9
CA
CB
CC
CD
CE
CF
300
301
302
303
304
305
306
307
310
311
312
313
314
315
316
317
11000000
11000001
11000010
11000011
11000100
11000101
11000110
11000111
11001000
11001001
11001010
11001011
11001100
11001101
11001110
11001111
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
DA
DB
DC
DD
DE
DF
320
321
322
323
324
325
326
327
330
331
332
333
334
335
336
337
11010000
11010001
11010010
11010011
11010100
11010101
11010110
11010111
11011000
11011001
11011010
11011011
11011100
11011101
11011110
11011111
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
E0
E1
E2
E3
E4
E5
E6
E7
E8
E9
EA
EB
EC
ED
EE
EF
340
341
342
343
344
345
346
347
350
351
352
353
354
355
356
357
11100000
11100001
11100010
11100011
11100100
11100101
11100110
11100111
11101000
11101001
11101010
11101011
11101100
11101101
11101110
11101111
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
FA
FB
FC
FD
FE
FF
360
361
362
363
364
365
366
367
370
371
372
373
374
375
376
377
11110000
11110001
11110010
11110011
11110100
11110101
11110110
11110111
11111000
11111001
11111010
11111011
11111100
11111101
11111110
11111111
一:简述:
进位计数制:是人们利用符号来计数的方法。一种进位计数制包含一组数码符号和两个基本因素。
(1)数码:用不同的数字符号来表示一种数制的数值,这些数字符号称为”数码”。
(2)基:数制所使用的数码个数称为”基”。
(3)权:某数制每一位所具有的值称为”权”。
二:进制转换的理论
1、二进制数、十六进制数转换为十进制数:用按权展开法
把一个任意R进制数a
n a
n-1
...a
1
a
. a
-1
a
-2
...a
-m
转换成十进制数,其十进制数值为每一位数字与其位权之积的和。
a
n ×R n + a
n-1
×R n-1 +…+ a
1
×R 1 + a
×R 0 + a
-1
×R-1+ a
-2
×R-2+ …+
a
-m
×R-m
2:十进制转化成R进制
十进制数轮换成R进制数要分两个部分:
整数部分:除R取余数,直到商为0,得到的余数即为二进数各位的数码,余数从右到左排列(反序排列)。
小数部分:乘R取整数,得到的整数即为二进数各位的数码,整数从左到右排列(顺序排列)。
3:十六进制转化成二进制
每一位十六进制数对应二进制的四位,逐位展开。
4:二进制转化成十六进制
将二进制数从小数点开始分别向左(对二进制整数)或向右(对二进制小数)每四位组成一组,不足四位补零。
三:具体实现
1:二进制转换成十进制
任何一个二进制数的值都用它的按位权展开式表示。
例如:将二进制数(10101.11)
2
转换成十进制数。
(10101.11)
2
=1*24+0*23+1*22+0*21+1*20+1*2-1+1*2-2
=24+22+20+2-1+2-2=(21.75)
10
2:十进制整理转换成二进制
将十进制整数转换成二进制整数采用“除2取倒余法”。
即将十进制整数除以2,得到一个商和一个余数;再将商除以2,又得到一个商和一个余数;
以此类推,直到商等于零为止。
每次得到的余数的倒排列,就是对应二进制数的各位数。
于是,结果是余数的倒排列,即为:
(37)
10=(a
5
a
4
a
3
a
2
a
1
a
)
2
=(100101)
2
3:十进制小数转换成二进制小数
十进制小数转换成二进制小数是用“乘2取整法”。即用2逐次去乘十进制小数,
将每次得到的积的整数部分按各自出现的先后顺序依次排列,就得到相对应的二进制小数。
将十进制小数0.375转换成二进制小数,其过程如下:
最后结果:(0.375)
10=(0.a
1
a
2
a
3
)
2
=(0.011)
2
4:十六进制转为二进制
由于24=16,所以每一位十六进制数要用四位二进制数来表示,也就是将每一位十六进制数表示成四位二进制数。
例:将十六进制数(B6E.9)
16
转换成二进制数为:
B 6 E . 9
1011 0110 1110 . 1001
即(B6E.9)
16=(101101101110.1001)
2
5:二进制数转为十六进制
将二进制数转换成十六进制数是将二进数的整数部分从右向左每四位一组,每一组为一位十六进制整数,不足四位时,在前面补0;
而二进制小数转换成十六进制小数是将二进制小数部分从左向右每四位一组,每一组为一位十六进制小数。
最后一组不足四位时,应在后面用0补足四位。
例:二进制数(1010101011.0110)
2
,转换成十六进制数为:
0010 1010 1011 . 0110
2 A B . 6
即:(10 1010 1011.0110)
2=(2AB.6)
16
计算机中常用的数的进制主要有:二进制、八进制、十六进制。
2进制,用两个阿拉伯数字:0、1;
8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;
10进制,用十个阿拉伯数字:0到9;
16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。
以下简介各种进制之间的转换方法:
一、二进制转换十进制
例:二进制“1101100”
1101100 ←二进制数
6543210 ←排位方法
例如二进制换算十进制的算法:
1*26 + 1*25 + 0*24 + 1*23 + 1* 22 + 0*21 + 0*20
↑↑
说明:2代表进制,后面的数是次方(从右往左数,以0开始)
=64+32+0+8+4+0+0
=108
二、二进制换算八进制
例:二进制的“10110111011”
换八进制时,从右到左,三位一组,不够补0,即成了:
010 110 111 011
然后每组中的3个数分别对应4、2、1的状态,然后将为状态为1的相加,如:010 = 2
110 = 4+2 = 6
111 = 4+2+1 = 7
011 = 2+1 = 3
结果为:2673
三、二进制转换十六进制
十六进制换二进制的方法也类似,只要每组4位,分别对应8、4、2、1就行了,如分解为:
0101 1011 1011
运算为:
0101 = 4+1 = 5
1011 = 8+2+1 = 11(由于10为A,所以11即B)
1011 = 8+2+1 = 11(由于10为A,所以11即B)
结果为:5BB
四、二进制数转换为十进制数
二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……
所以,设有一个二进制数:0110 0100,转换为10进制为:
计算: 0 * 20 + 0 * 21 + 1 * 22 + 0 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100
五、八进制数转换为十进制数
八进制就是逢8进1。
八进制数采用 0~7这八数来表达一个数。
八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方……
所以,设有一个八进制数:1507,转换为十进制为:
计算: 7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839
结果是,八进制数 1507 转换成十进制数为 839
六、十六进制转换十进制
例:2AF5换算成10进制
直接计算就是: 5 * 160 + F * 161 + A * 162 + 2 * 163 = 10997
(别忘了,在上面的计算中,A表示10,而F表示15)、
现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。
假设有人问你,十进数 1234 为什么是一千二百三十四?你尽可以给他这么一个算式: 1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100
十进制与二进制转换之相互算法
十进制转二进制:
用2辗转相除至结果为1
将余数和最后的1从下向上倒序写就是结果
例如302
302/2 = 151 余0
151/2 = 75 余1
75/2 = 37 余1
37/2 = 18 余1
18/2 = 9 余0
9/2 = 4 余1
4/2 = 2 余0
2/2 = 1 余0
故二进制为100101110
二进制转十进制
从最后一位开始算,依次列为第0、1、2...位
第n位的数(0或1)乘以2的n次方
得到的结果相加就是答案
例如:01101011.转十进制:
第0位:1乘2的0次方=1
1乘2的1次方=2
0乘2的2次方=0
1乘2的3次方=8
0乘2的4次方=0
1乘2的5次方=32
1乘2的6次方=64
0乘2的7次方=0
然后:1+2+0+8+0+32+64+0=107.
二进制01101011=十进制107.
一、二进制数转换成十进制数
由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。
二、十进制数转换为二进制数
十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。
1.十进制整数转换为二进制整数
十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
2.十进制小数转换为二进制小数
十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。
然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。
1.二进制与十进制的转换
(1)二进制转十进制
方法:"按权展开求和"
例:
(1011.01)2 =(1×23+0×22+1×21+1×20+0×2-1+1×2-2)10 =(8+0+2+1+0+0.25)10
=(11.25)10
(2)十进制转二进制
·十进制整数转二进制数:"除以2取余,逆序输出"
例:(89)10=(1011001)2
2 89
2 44 (1)
2 22 0
2 11 0
2 5 (1)
2 2 (1)
2 1 0
0 (1)
·十进制小数转二进制数:"乘以2取整,顺序输出"
例:
(0.625)10= (0.101)2
0.625
X 2
1.25
X 2
0.5
X 2
1.0
2.八进制与二进制的转换
例:将八进制的37.416转换成二进制数:
37 . 4 1 6
011 111 .100 001 110
即:(37.416)8 =(11111.10000111)2
例:将二进制的10110.0011 转换成八进制:
0 1 0 1 1 0 . 0 0 1 1 0 0
2 6 . 1 4
即:(10110.011)2 =(26.14)8
3.十六进制与二进制的转换
例:将十六进制数5DF.9 转换成二进制:5 D F . 9
0101 1101 1111.1001
即:(5DF.9)16 =(10111011111.1001)2
例:将二进制数1100001.111 转换成十六进制:
0110 0001 . 1110
6 1 . E
即:(1100001.111)2 =(61.E)16
各进制转换方法(转载) 一、计算机中数的表示: 首先,要搞清楚下面3个概念 ?数码:表示数的符号 ?基:数码的个数 ?权:每一位所具有的值 请看例子: 数制十进制二进制八进制十六进制 数码0~9 0~1 0~7 0~15 基10 2 8 16 权10o,101,102,…2o,21,22,…8o,81,82,…16o,161,162,…特点逢十进一逢二进一逢八进一逢十六进一 十进制4956= 4*103+9*102 +5*101+6*10o 二进制1011=1*23+0*22 +1*21+1*2o 八进制4275=4*83+2*82 +7*81+5*8o 十六进制81AE=8*163+1*162 +10*161+14*16o
二、各种进制的转换问题 1.二、八、十六进制转换成十进制 2.十进制转换成二、八、十六进制 3.二进制、八进制的互相转换 4.二进制、十六进制的互相转换 1、二、八、十六进制转换成十进制 方法:数码乘以相应权之和 2、十进制转换成二、八、十六进制 方法:连续除以基,直至商为0,从低到高记录余数
3、二进制、八进制的互相转换 方法: ?二进制转换成八进制:从右向左,每3位一组(不足3位左补0),转换成八进制 ?八进制转换成二进制:用3位二进制数代替每一位八进制数 例(1101001)2=(001,101,001)2=(151)8 例 (246)8=(010,100,110)2=(10100110)2 4、二进制、十六进制的互相转换 方法: ?二进制转换成十六进制:从右向左,每4位一组(不足4位左补0),转换成十六进制 ?十六进制转换成二进制:用4位二进制数代替每一位十六进制数 例(11010101111101)2=(0011,0101,0111,1101)2=(357D)16 例 (4B9E)16=(0100,1011,1001,1110)2=(100101110011110)2 三、各种进制数的运算
一,十进制转换十六进制 若十进制数23785转为十六进制,则用 23785/16=1486余9, 1486/16=92余……14, 92/16=5余………….12, 5/16=0余……………..5,十六进制中,10对应为a、11对应为b、。。。。。。、15对应为f,再将余数倒写为5ce9,则十进制23785=十六进制5ce9 二,十六进制转换十进制 十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方…… 所以,在第N(N从0开始)位上,如果是是数X (X 大于等于0,并且X小于等于15,即:F)表示的大小为X * 16的N次方。 假设有一个十六进数2AF5, 那么如何换算成10进制呢? 用竖式计算:2AF5换算成10进制: 第0位:5 * 16^0 = 5 第1位:F * 16^1 = 240 第2位:A * 16^2 = 2560 第3位:2 * 16^3 = 8192 直接计算就是: 5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997 三,二进制的1101转化成十进制 1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13 转化成十进制要从右到左用二进制的每个数去乘以2的相应次方不过次方要从0开始 十进制转二进制:用2辗转相除至结果为1 将余数和最后的1从下向上倒序写就是结果例如302 302/2 = 151 余0 151/2 = 75 余1 75/2 = 37 余1 37/2 = 18 余1 18/2 = 9 余0 9/2 = 4 余1 4/2 = 2 余0 2/2 = 1 余0 1/2 = 0 余1 故二进制为100101110 四,二进制转八进制 在把二进制数转换为八进制表示形式时,对每三位二进制位进行分组,应该从小数点所在位置分别向左向右划分,若整数部分倍数不是3的倍数,可以在最高位前面补若干个0;对小数部分,当其位数不是的倍数时,在最低位后补若干个0.然后从左到右把每组的八进制码依次写出,即得转换结果. 你算一下就知道了啊比如110=2^2+2+0=6 五,二进制转十六进制 要将二进制转为16进制,只需将二进制的位数由右向左每四位一个单位分隔,分的不够的前边补零,用四位数的二进制数来代表一个16进制。转换表如下,括号内为十六进制 0000(0)0001(1)0010(2)0011(3)0100(4)0101(5) 0110(6)0111(7)1000(8)1001(9)1010(A)1011(B) 1100(C)1101(D)1110(E)1111(F) 例如:10101011划分为1010 1011,根据转换表十六进制为AB
--进制之间的转换-- 介绍:进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的“正”字计数法,以及类似的tally mark计数)。对于任何一种进制---X进制,就表示每一位置上的数运算时都是逢X进一位。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。 --常见的几种进制 二进制(B)十进制(D)十六进制(H)八进制(O) 1.二进制 二进制有两个特点:它由两个数码0、1组成,二进制的规律是逢二进一。 -转换。 a.将二进制转换为十进制。 例子:将二进制数10111.1011转换为十进制 解析: 小数点前 1 0 1 1 ------ 转换为十进制 1×23 0×22 1×21 1×20 ------ 8+0+2+1=11 小数点后1 0 1 1 ------ 转换为十进制 1×2-1 0×2-21×2-31×2-4 ---- 0.5+0+0.125+0.0625=0.6875 则,二进制1011.1011转换为十进制数为 11+0.6875=11.6875. (1011.1011) B =(11.6875) D b.将二进制转换为八进制。 例子:将二进制数10111.1011转换为八进制 解析: (由小数点开始,向两边每3个分为一组) 001 011 .101 100 (按照二进制转十进制的算法,算出每三个所对应的十进制数) 1 3 . 5 4 则,(1011.1011) B =(13.54) O c.将二进制转换为十六进制。 例子:将二进制数10111.1011转换为八进制解析:
各进制转换方法(转载)一、计算机中数的表示: 首先,要搞清楚下面3个概念 ?数码:表示数的符号 ? 基:数码的个数 ?权:每一位所具有的值
、各种进制的转换问题 1. 二、八、十六进制转换成十进制 2. 十进制转换成二、八、十六进制 3. 二进制、八进制的互相转换 4. 二进制、十六进制的互相转换 1、二、八、十六进制转换成十进制 方法:数码乘以相应权之和 例(HloJ-l/25+lx24+l/23+0/22+ h2:+h20 -(59)10 例(136)8=lx82+3x8l+6x8°=(94)10 例(1F2^)1S=1X163+15X16S +2\16] + 10/16° = (7978)10 2、十进制转换成二、八、十六进制 方法:连续除以基,直至商为0,从低到高记录余数
例把十进制数159转换成八进制数 8| 19 8辽 (159)IO =(237)8 例把十进制数59转换成二进制数 (59)IO =(111O11)2 2 余余余余余余 8 159
例把十进制数459转换成十六进制数 u | 1| C| B (459)io=(1CB)ib ' 3、二进制、八进制的互相转换 方法: *二进制转换成八进制:从右向左,每3位一组(不足3位左补0),转换成八进制*八进制转换成二进制:用3位二进制数代替每一位八进制数 例(1101001)2=(001,101,001)2=(151)8 例(246)8=(010,100,110)2=(10100110)2 4、二进制、十六进制的互相转换 方法: 二进制转换成十六进制:从右向左,每4位一组(不足4位左补0),转换成十六进制 *十六进制转换成二进制:用4位二进制数代替每一位十六进制数 例(11010101111101)2=(0011,0101,0111,1101)2=(357D)16 例(4B9E)16=(0100,1011,1001,1110)2=(100101110011110)2 三、各种进制数的运算 方法:逢满进具体计算与平时十进制的计算类似,以十六进制为例: 加法:
十进制:D 二进制:B 八进制(0-7):O 十六进制(0-F ):H ①、十进制转二进制(八进制、十六进制): 十进制转二进制:(42)=00101010 2 42 0 2 21 ......1 2 10 ......0 2 5 (1) 2 2 0 (1) 8 136 0 16 136 8 8 17 1 16 8 8 2 (136)D=(88)H (136)D=(210)O ②负数: 十进制转二进制:(负数)取反加1 (-42)D=(?)B (42)D=(00101010)B (-42)D 转二进制时将(42)D 的二进制数先取反00101010取反得: 11010101 然后再加1 + 1 11010110 (-42)D=(11010110)B 二进制(负数)转十进制:取反再进行转 二进制数左第一位数为1就是负数 为0则不是 例:11101011 11101011 取反: -00010100 (11101011)B=(-20)D ③小数: 十进制转二进制:(小数)小数点后×2 (八进制(小数)小数点后×8、十六进制(小数)小数点后×16)取整 0.125转二进制 (0.001)B 0.125转八进制(0.1)O
例:45.125转二进制 2 45 1 0.125×2=0.25 0 2 22 0 0.25×2=0.5 0 2 11 1 0.5×2=1 1 2 5 1 2 2 0 101101 2 1 (45.125)D= 101101.001 二进制(八进制、十六进制)小数转十进制小数 二进制数(八进制、十六进制)第0位的权值是2、8、16的0次方,第1位的权值是2、8、16的-1次方、第2位的权值是2、8、16的-2次方…… 例如,设有一个二进制数:0.101(由前至后分别为第0位,第1位……第7位),转换为10进制为: (2-3 =3 2 1 =0.125) (2-4=16 11 4 2
二进制,八进制十进制十六进制之间数据转换 十进制转二进制(整数及小数部分): 1、把该十进制数,用二因式分解,取余。 以235为例,转为二进制 235除以2得117,余1 117除以2得58,余1 58除以2得29,余0 29除以2得14,余1 14除以2得7,余0 7除以2得3,余1 3除以2得1,余1 从得到的1开始写起,余数倒排,加在它后面,就可得11101011。 2、把十进制中的小数部份,转为二进制。 把该小数不断乘2,取整,直至没有小数为止,注意不是所有小数都能转为二进制! 以0.75为例, 0.75剩以2得1.50,取整数1 0.50剩以2得1,取整数1,顺序取数就可得0.11。 1、二进制数、八进制数、十六进制数转十进制数 有一个公式:二进制数、八进制数、十六进制数的各位数字分别乖以各自的基数的(N-1)次方,其和相加之和便是相应的十进制数。个位,N=1;十位,N=2...举例:110B=1*2的2次方+1*2的1次方+0*2的0次方=0+4+2+0=6D 110Q=1*8的2次方+1*8的1次方+0*8的0次方=64+8+0=72D 110H=1*16的2次方+1*16的1次方+0*16的0次方=256+16+0=272D 2、十进制数转二进制数、八进制数、十六进制数 方法是相同的,即整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数部分拼接成一个数作为转换的最后结果。 例:见四级指导16页。 3、二进制数转换成其它数据类型
3-1二进制转八进制: 从小数点位置开始,整数部分向左,小数部分向右,每三位二进制为一组用一位八进制的数字来表示,不足三位的用0补足, 就是一个相应八进制数的表示。 010110.001100B=26.14Q 八进制转二进制反之则可。 3-2二进制转十进制: 见1 3-3二进制转十六进制: 从小数点位置开始,整数部分向左,小数部分向右,每四位二进制为一组用一位十六进制的数字来表示, 不足四位的用0补足,就是一个相应十六进制数的表示。 00100110.00010100B=26.14H 十进制转各进制 要将十进制转为各进制的方式,只需除以各进制的权值,取得其余数,第一次的余数当个位数,第二次余数当十位数,其余依此类推,直到被除数小于权值,最后的被除数当最高位数。 一、十进制转二进制 如:55转为二进制 2|55 27――1个位 13――1第二位 6――1第三位 3――0第四位 1――1第五位 最后被除数1为第七位,即得110111 二、十进制转八进制
一、二进制转十进制 由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为按权相加法。 二、十进制转二进制 十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。 1. 十进制整数转换为二进制整数 十进制整数转换为二进制整数采用除2取余,逆序排列法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。 2.十进制小数转换为二进制小数 十进制小数转换成二进制小数采用乘2取整,顺序排列法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。 然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。 1.二进制与十进制的转换 (1)二进制转十进制 方法:按权展开求和 例: (1011.01)2 =(1×23+0×22+1×21+1×20+0×2-1+1×2-2)10 =(8+0+2+1+0+0.25)10 =(11.25)10 (2)十进制转二进制
十进制整数转二进制数:除以2取余,逆序输出例:(89)10=(1011001)2 2 89 2 44 1 2 22 0 2 11 0 2 5 1 2 2 1 2 1 0 0 1 十进制小数转二进制数:乘以2取整,顺序输出例: (0.625)10= (0.101)2 0.625 X 2 1.25 X 2 0.5 X 2 1.0 2.八进制与二进制的转换 例:将八进制的37.416转换成二进制数: 37 . 4 1 6 011 111 .100 001 110 即:(37.416)8 =(11111.10000111)2
各种进制之间的转换方法 ⑴二进制B转换成八进制Q:以小数点为分界线,整数部分从低位到高位,小数部分从高位到低位,每3位二进制数为一组,不足3位的,小数部分在低位补0,整数部分在高位补0,然后用1位八进制的数字来表示,采用八进制数书写的二进制数,位数减少到原来的1/3。 例:◆二进制数转换成八进制数: = 110 110 . 101 100B ↓↓ ↓ ↓ 6 6 . 5 4 = ◆八进制数转换成二进制数: 3 6 . 2 4Q ↓ ↓ ↓ ↓ 011 110 . 010 100 = ◆ 低位,每4位二进制数为一组,不足4位的,小数部分在低位补0,整数部分在高位补0,然后用1位十六进制的数字来表示,采用十六进制数书写的二进制数,位数可以减少到原来的1/4。 例:◆二进制数转换成十六进制数: .100111B = 1011 0101 1010 . 1001 1100B ↓ ↓ ↓ ↓ ↓ B 5 A . 9 C = 5A ◆十六进制数转换成二进制数: = A B . F EH ↓ ↓ ↓ ↓ 1010 1011. 1111 1110 = .1111111B 先把八进制数Q转换成二进制数B,再转换成十六进制数H。 例:◆八进制数转换成十六进制数: = 111 100 000 010 . 100 101B = .100101B = 1111 0000 0010 . 1001 0100B = F 0 2 . 9 4H = ◆十六进制数转换成八进制数: = 0001 1011 . 1110B = = 011 011 . 111B = 3 3 . 7Q = ⑷二进制数B转换成十进制数D:利用二进制数B按权展开成多项式和的表达式,取基数为2,逐项相加,其和就是相应的十进制数。
1、什么是进制 十进制就是逢十进一:0~9 二进制就是逢二进一:0~1 十六进制。。。:0~9、A~F(可以理解成10~15) 生活中用到进制的例子: 一周七天:七进制 一年十二个月:十二进制 一小时六十分钟:六十进制 电脑中的数据: 二进制 进制的转换 八进制转十进制:八进制0235转为十进制157十六进制转十进制也差不多 83 8281 80 ↓↓↓↓ 0 2 3 5 0+2×64+3×8+5×1 157 十进制转八进制:十进制27转为八进制33 十进制转六十进制也差不多 8|27 3 8|4 3 反正记住一般,低进制转高进制,就乘加,高进制转低进制,就取余, 除十六进制,我们经常用的就是这四种进制 二进制到十六进制转换 方法:从右向左,四位一段,分别转化,不够四位的补零 意思就是一位十六进制用四位二进制数表示,如果不够四位,前面用零补齐 比如116 = 00012十六进制的1和二进制1 表示形式就是1,不过一般用前面的那种方法表示便于运算 例:01011102→(0010,1110) 左补一个零,便于运算 (2 ,E )16 十六进制转二进制 D2C16= (13 ,2 ,12)16 (1101,0010,1100) = 1101001011002中间那段四位二进制数前面补的两个0不能掉而八进制就是三位一段,类似上方,不过就是三位一段 例: 01011102= (000,101,110) 第一段三位二进制数左补两个零 (0, 5, 6) 0568 321= (3,2,1) (011,010,001) 110100012 不存在十六进制与八进制的直接相互转化,都是以二进制or 十进制等为中间进制来进行转换的 如:D2C16= 1101001011002= 64548 二进制与十进制的相互转化,不需要让二进制以多位为一段,只需要一位一位的算就好 其他进制也一样
二进制、八进制、十进制、十六进制之间转换二进制、八进制、十进制、十六进制之间转换 一、十进制与二进制之间的转换 (1)十进制转换为二进制,分为整数部分和小数部分 ①整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。下面举例: 例:将十进制的168转换为二进制 得出结果将十进制的168转换为二进制,(10101000)2 分析:第一步,将168除以2,商84,余数为0。 第二步,将商84除以2,商42余数为0。 第三步,将商42除以2,商21余数为0。 第四步,将商21除以2,商10余数为1。 第五步,将商10除以2,商5余数为0。 第六步,将商5除以2,商2余数为1。 第七步,将商2除以2,商1余数为0。 第八步,将商1除以2,商0余数为1。 第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000 (2)小数部分 方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分 为零为止。如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。读数要从前面的整数读到后面的整数,下面举例: 例1:将0.125换算为二进制 得出结果:将0.125换算为二进制(0.001)2 分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25; 第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5; 第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0; 第四步,读数,从第一位读起,读到最后一位,即为0.001。 例2,将0.45转换为二进制(保留到小数点第四位)
计算机进制间的转换 计算机中常用的数的进制主要有:二进制、八进制、十六进制,学习计算机要对其有所了解。 2进制,用两个阿拉伯数字:0、1; 8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7; 10进制,用十个阿拉伯数字:0到9; 16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。 以下简介各种进制之间的转换方法: 一、R进制转十进制: 基数为R的数字,只要将各位数字与它的权相乘,其积相加,所得的和就是十进制。 例如: 二进制转换十进制 例:二进制“1101101.0101” 1101101. 0 1 0 1 ←二进制数 6543210.-1-2-3-4 ←排位方法 二进制换算十进制的算法: 说明:2代表进制,后面的数是次方(从右往左数,以0开始) =1×26+1×25+0×24+1×23+1×22+0×21+1×20+0×21-+1×22-+0×23-+1×24- =64+32+0+8+4+0+1+ 0.5+0.25+0.125+0.0625 =109.3125 八进制转十进制: (123.45) 8 =1×82+2×81+3×80+4×81-+5×82- =64+16+3+0.5+0.078125 =(83.578125) 10 十六进制转十进制: (2A3B4F)=2×165+10×164+3×163+11×162+4×161+15×160 =(2767695)10 二、二进制换算八进制 例:二进制的“10110111011” 换八进制时,从右到左,三位一组,不够补0,即成了: 010 110 111 011 然后每组中的3个数分别对应4、2、1的状态,然后将为状态为1的相加,如: 010 = 2 110 = 4+2 = 6 111 = 4+2+1 = 7 011 = 2+1 = 3
几种进制的解释与转化说明 一)、数制 计算机中采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径、节省设备等优点,为了便于描述,又常用八、十六进制作为二进制的缩写。 一般计数都采用进位计数,其特点是: (1)逢N进一,N是每种进位计数制表示一位数所需要的符号数目为基数。 (2)采用位置表示法,处在不同位置的数字所代表的值不同,而在固定位置上单位数字表示的值是确定的,这个固定位上的值称为权。 在计算机中:D7 D6 D5 D4 D3 D2 D1 D0 只有两种0和1 8 4 2 1 二)、数制转换 不同进位计数制之间的转换原则:不同进位计数制之间的转换是根据两个有理数如相等,则两数的整数和分数部分一定分别相等的原则进行的。也就是说,若转换前两数相等,转换后仍必须相等。 有四进制 十进制:有10个基数:0 ~~ 9 ,逢十进一 二进制:有2 个基数:0 ~~ 1 ,逢二进一 八进制:有8个基数:0 ~~ 7 ,逢八进一 十六进制:有16个基数:0 ~~ 9,A,B,C,D,E,F (A=10,B=11,C=12,D=13,E=14,F=15) ,逢十六进一 1、数的进位记数法 N=a n-1×p n-1+a n-2×p n-2+…+a2×p2+a1×p1+a0×p0 2、十进制数与P进制数之间的转换 ①十进制转换成二进制:十进制整数转换成二进制整数通常采用除2取余法,小数部分乘2取整法。例如,将(30)10转换成二进制数。 将(30)10转换成二进制数 2| 30 ….0 ----最右位 2 15 (1) 2 7 (1) 2 3 (1) 1 ….1 ----最左位 ∴(30)10=(11110)2 将(30)10转换成八、十六进制数 8| 30 ……6 ------最右位 3 ------最左位 ∴(30)10 =(36)8 16| 30 …14(E)----最右位 1 ----最左位 ∴(30)10 =(1E)16 3、将P进制数转换为十进制数
二进制、八进制、十进制、十六进制之间转换 一、十进制与二进制之间的转换 (1)十进制转换为二进制,分为整数部分和小数部分 ①整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。下面举例: 例:将十进制的168转换为二进制 得出结果将十进制的168转换为二进制,(10101000)2 分析:第一步,将168除以2,商84,余数为0。 第二步,将商84除以2,商42余数为0。 第三步,将商42除以2,商21余数为0。 第四步,将商21除以2,商10余数为1。 第五步,将商10除以2,商5余数为0。 第六步,将商5除以2,商2余数为1。 第七步,将商2除以2,商1余数为0。 第八步,将商1除以2,商0余数为1。 第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000 (2)小数部分 方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分 为零为止。如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。读数要从前面的整数读到后面的整数,下面举例: 例1:将0.125换算为二进制 得出结果:将0.125换算为二进制(0.001)2 分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25; 第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5; 第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0; 第四步,读数,从第一位读起,读到最后一位,即为0.001。 例2,将0.45转换为二进制(保留到小数点第四位) 大家从上面步骤可以看出,当第五次做乘法时候,得到的结果是0.4,那么小数部分继续乘以2,得0.8,0.8又乘以2的,到1.6这样一直乘下去,最后不可能得到小数部分为零,因此,这个时候只好
UltraEdit和WinHex使用简介及十六进制转换说明 UltraEdit 简介 如果你经常进行一些文本文件的编辑,那你一定不太满意Windows自带的文本编辑器NotePad和WordPad。这两个编辑器只提供了一些最基本、最简单的功能,用起来总是有些不太方便。目前比较流行的文本编辑器有UltraEdit、TextPad、Turbro-Edit、Yeah Write等,下面我们主要介绍一下UltraEdit-32 1120a。 UltraEdit是一套功能强大的文本编辑器,可以编辑文字、Hex、ASCII 码,可以取代记事本,内建英文单字检查、C++ 及 VB 指令突显,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢。软件附有 HTML Tag 颜色显示、搜寻替换以及无限制的还原功能,一般大家喜欢用其来修改EXE 或 DLL 文件,众多的游戏玩家喜欢用它来修改存盘文件或是可执行文件。 怎么样不错吧,下面我们就从菜单和工具栏开始我们的UltraEdit之旅。 菜单及工具栏 UltraEdit的启动很简单,可以选择要编辑的文件,然后在右键菜单中选择“UltraEdit-32”即可,使用起来简单、方便。 这就是UltraEdit的主界面,上面是标题栏、菜单和工具栏,下部左侧为驱动器文件列表,方便文件的查看;右侧为文本编辑区,我们打开的文件就显示在这里。 我们看一下UltraEdit工具条上的这些按钮,里面包含了UltraEdit的常用命令。
用于新建一个文件,可以是一个Txt文件,也可以是十六进制文件,C、HTML等格式的文件; 用于打开一个文件; 关闭已打开文件; 保存正在编辑的文件; 打印文件; 打印预览; 插入一个分页符; 设置是否自动折行; 这个按钮上写个H,作用就是将文件转为十六进制文件; 剪切;
一:十进制数转换成二进制数。 随便拿出一个十进制数“39”,(假如你今天买书用了39 元)先来把这个39 转换成2 进制数。 商余数步数39/2= 19 1 第一步 19/2= 9 1 (这里的19 是第一步运算结果的商)第二步 9/2= 4 1 (这里的9 是第二步运算结果的商)第三步 4/2= 2 0 (这里的4 是第三步运算结果的商)第四步 2/2= 1 0 (这里的2 是第四步运算结果的商)第五步 1/2= 0 1 (这里的1 是第五步运算结果的商)第六步 那么十进制数39 转换成2 进制数就是100111. 既39(10)=100111(2) 解析一:1. 当要求把一个10 进制数转换成2 进制数的时候,就用那个数一直除以2 得到商和余数。 2. 用上一步运算结果的商在来除以2,再来得到商和余数。 3. 就这样,一直用上一步的商来除以2,得到商和余数!那么什么时候停止呢? 4. 请看上述运算图,第六步的运算过程是用1 除以2.得到的商是0,余数是1. 那么请你记住,记好了啊共2 点。A: 当运算到商为“0”的时候,就不用运算了。B:1/2 的商为“0”余数为“1”。这个你要死记住,答案并不是0.5!答案就是商为“0”余数为“1”。你不用去思考为什么,记好了就行了! 5. 在上述图中你会清晰的看到每一步运算结果的余数,你倒着把它们写下来就是“100111”了。那么这个就是结果了。 6. 在上述图中符号“/”代表“除以”。 二:十进制数转换成八进制数。 随便拿出一个十进制数“358”,(假如你今天买彩票中了358 元)。358 是我们现实生活中所用10 进制表达出来的一个数值,转换成八进制数十多少?
1.十进制数 1000 对应二进制数为 ______ ,对应十六进制数为 ______ 。 供选择的答案 A :① 1111101010 ② 1111101000 ③ 1111101100 ④ 1111101110 B :① 3C8 ② 3D8 ③ 3E8 ④ 3F8 2.十进制小数为 0.96875 对应的二进制数为 ______,对应的十六进制数为 ______ 。 供选择的答案 A :① 0.11111 ② 0.111101 ③ 0.111111 ④ 0.1111111 B :① 0.FC ② 0.F8 ③ 0.F2 ④ 0.F1 3.二进制的 1000001 相当十进制的 ____ 。 ① 62 ② 63 ③ 64 ④ 65 4.十进制的 100 相当于二进制 _____ ,十六进制 ____ 供选择的答案 5.八进制的 100 化为十进制为 _____ ,十六进制的 100 化为十进制为 _____ 供选择的答案 A :① 80 ② 72 ③ 64 ④ 56 B :① 160 ② 180 ③ 230 ④ 256 6.十六进制数 FFF.CH 相当十进制数 ___ __ 。 ① 4096.3 ② 4096.25 ③ 4096.75 ④ 4095.75 7.2005 年可以表示为 __ ___ 年。 ① 7C5H ② 6C5H ③ 7D5H ④ 5D5H 9. _____________________________________________ 对于不同数制之间关系的描述,正确的描述为 供选择的答案 A :① 任意的二进制有限小数,必定也是十进制有限小数。 ② 任意的八进制有限小数,未必也是二进制有 限小数。 ③ 任意的十六进制有限小数,不一定是十进制有限小数。 ④ 任意的十进制有限小数,必然也是八进制有限小数。 10. __________________________________________ 二进制整数 1111111111转换为十进制数为 ____ ,二进制小数 0.111111 转换成十进制数为 ____________ A :① 1000000 B :① 100H ② 1100000 ②AOH ③ 1100100 ③ 64H ④ 1101000 ④10H 8. 二进制数 10000.00001 将其转换成八进制数 为 供选择的答案 _____ ;将其转换成十六进制数为 _____ A :① 20.02 B :① 10.10 ② 02.01 ② 01.01 ③ 01.01 ④ 02.02 ③ 01.04 ④ 10.08
进制转换练习题 姓名成绩 1.完成下列进制转换 (11110111)B=()D=()H (6DF7)16=( )2 (143)10=( )2 (82)10 =()2 (110111)2= ( )10 (110111110111)2 =( )16 (32)10 =()16 (1AD)H =()B = ()D 每题5分 2、在计算机内部,信息的存储和处理都采用二进制,最主要的原因是() A.便于存储 B 数据输入方便 C.可以增大计算机存储容量D.易于用电子元件实现 3.“半斤八两”指古时候用的是十六进制,一斤是十六两,半斤等于八两,如果是不熟悉十,十六进制之间的转换时,可以借助的工具软件是() (A)画图(B)记事本(C)录音机(D)计算器 4.(2004)10 + (32)16的结果是() A. (2036)10 B. (2054)16 C. (4006)10 D. (100000000110)2 E. (2036)16 5.算式(31)10-(10001)2的运算结果是() A.(1101)2 B (15)10 C (1111)2 D (E)16 6.汉字“人”的内码是11001000 1100 1011 ,那么它的十六进制编码是()A.B8 CB B B8 BA C D8 DC D C8 CB 7.(08年10月高考题)二进制数1011与十进制数2相乘的值是()A.(10110)2B.(11010)2 C (11100)2D.(11111)2 8.下列数中最大的是() A.1111B B 111D C 1101D D 0AH 9.十进制数17的二进制表示为() A.10011B B 11110B C 10001B D 11101B 10.二进制数1001 转换成十进制数是() A.8 B 9 C 10 D 11 11.在海上,早期没有无线电通讯设备,人们通常使用3面由红,黄,蓝三种颜色的彩色小旗的排列来表达某种信息,它最多能表示的信息个数是()A12种B27种C64种D8种 12.某军舰上有5盏信号灯,信号灯只有"开"和"关"两种状态,如果包括5盏信号灯全关的状态,则最多能表示的信号编码数() (A)120种(B)31种(C)32种(D)5种
一.功能概述 本应用是讲从数字键盘输入的某进制的数据按要求转换成其他进制的数据,以实现进制转换。本例程是基于对话框的工程,用一个对话框作为应用程序的主窗口,同时实例通过各种控件实现进制转换功能。其中,控件主要包括以下类型:编辑框,命令按钮、静态文本、群组框、单选按钮、复选框。 其中主要控件功能为: ·“输入数据”和“转换数据”编辑框,分别用于显示输入的数矩和转换的结果。 ·“转换为八进制”、“转换为十六进制”、“转换为十进制”三个命令按钮。用于将输入的数据转换为其他的进制。“重新开始” 按钮用于将输入的数据和转换的数据清空。 ·“八进制”、“十进制”、“十六进制”单选按钮对应输入数据的进制。同时为防止输入某进制下无效的按钮,对进制无效的按钮 施予静止。本实例中默认输入为十进制。 ·0-9按钮和A-F按钮做为数字键盘 ·“输入数据加进制符号”和“转换数据加进制符号” ·“数据格式显示选择”群组框中两个复选框作为一组。
应用程序实例界面 二.实现步骤 步骤一 选择file | new 命令,打开new对话框,选择project选项卡,设置工程名为Calculator,然后单击OK按钮。如下图所示:
步骤二 打开下图所示对话框,选择基本对话框,其余设置均采用默认操作,单击“完成”按钮完成整个工程的创建,如下图:
步骤三 在应用程序的主窗口的对话框资源中添加控件,并为对话框中的各个控件添加成员变量和消息响应函数。 添加成员变量和消息响应函数
步骤四 通过上述步骤完成各个控件的添加和控制,下面将对对话框进和控件进行编程,以实现目标功能 ①数字键按钮初始状态的设定。由于默认的进制为十进制,所以0~9折十个数字的默认状态是enable。因为系统的所有命令按钮的默认状态是enable,所以需要在初始化的时候将A~F的状态设置为disable。选择class view 选项卡,双击CCalculatorDig 下面的OnInitDialog()并在return钱添加如下代码: m_button_A.EnableWindow(FALSE); m_button_B.EnableWindow(FALSE); m_button_C.EnableWindow(FALSE); m_button_D.EnableWindow(FALSE); m_button_E.EnableWindow(FALSE); m_button_F.EnableWindow(FALSE); ②在程序运行过程中,数字键按钮的状态需要根据对三个单选按钮的选择而定。它们的事件函数代码分别如下: void CCalculatorDig::OnRADIOo() { char_radio='O'; value=0; m_button_8.EnableWindow(FALSE); m_button_9.EnableWindow(FALSE); m_button_A.EnableWindow(FALSE); m_button_B.EnableWindow(FALSE); m_button_C.EnableWindow(FALSE); m_button_D.EnableWindow(FALSE); m_button_E.EnableWindow(FALSE); m_button_F.EnableWindow(FALSE); } void CCalculatorDig::OnRADIOd() { char_radio='D'; value=0; m_button_8.EnableWindow(TRUE); m_button_9.EnableWindow(TRUE); m_button_A.EnableWindow(FALSE); m_button_B.EnableWindow(FALSE);
常用进制及其转换 知识目标:1、了解数制的基本概念 2、掌握其它进制转十进制和十进制转其它进制的方法 情感目标:1、培养学生严谨的思考方式 2、培养学生相互合作的精神 教学重点:1、非十进制转化为十进制 2、十进制转化为非十进制 3、二进制、八进制和十六进制的相互转化 教学难点:非十进制转化为十进制 教学方法:启发式、讨论法 教学内容: 一、引入进制的概念 举例: 日常使用:如时间1min=60s(六十进制),货币1元=10角(十进制),1打火柴=12包火柴(十二进制) 1、常用进制:十进制、二进制、八进制、十六进制 2、基本要素 进位计数制的三个基本要素: (1)数码:一组用来表示某种数制的符号。如:二进制中0,1。 (2)基数:数值所用的数码个数。 如十进制基数为10,有0,1,2,3,4,5,6,7,8,9十个不同的数码,逢十进一。 二进制基数为2,有0,1两个不同的数码,逢二进一 八进制基数为8,有0,1,2,3,4,5,6,7八个不同的数码,逢八进一 十六进制基数为16,有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十六个不同的数码,逢十六进一 (3)位权:数码在不同位置上的权值。R进制数中,整数部分第i位的位权为,小数部分第j位的位权为。 3、定义 进位计数制的定义:把数码按照先后顺序排列成数位,由低到高位计数,且满进位。
如十进制数127.5中我们按位权展开就是 二、表示法 1、下标法,用圆括号将给出的数括起来,在右括号的下方注明该数的进制,如二进制数1011表示为 2、后缀法,在给出的数的最后面用后缀字母来表明数制。B表示二进制,O表示八进制,D表示十进制,H表示十六进制,如,十六进制数2A4BH等。 3、计算机的内部表示: (1)数据在计算机内部都是以二进制码的形式表示的,其特点是只有0和1两个数字符号,且逢二进一。 (2)优点:物理实现容易,运算简单,数据的传输和处理抗干扰性强,不易出错,可靠性高,易于进行逻辑运算。 三、进制间的转换: 实质上是基数间的转换。转换的基本原则是将整数部分和小数部分分别按转换方法进行转换,用小数点进行连接。 1、二进制数、八进制数、十六进制数转换为十进制数 方法:按位权展开求和: 以二进制转换为十进制数为例,其他两个转换类似 2、十进制转换为二进制数、八进制数和十六进制数 方法:整数部分转换采用除R取余,直到商为0为止,倒排。小数部分,采用乘R取整的方法,顺排。 以十进制数转化为二进制为例,其他两种类似 例:将十进制数转化为二进制,结果为
信息的编码 再问学生计算机存储信息是不是都采用了二进制数二进制也存在缺点,二进制都用0和1, 而且位数太多, 不易理解, 也易出错。为描述方便常用八、十进制,十六进制数表示二进制数 在微机中,一般在数字的后面,用特定字母表示该数的进制。 十进制:日常生活中最常见的是十进制数,用十个不同的符号来表示:0、1、2、3、4、5、6、7、8、9。 基为:10 运算规则:逢十进一,借一当十 在十进制数的后面加大写字母D以示区别。 二进制:二进制数只有两个代码“0”和“1”,所有的数据都由它们的组合来实现。 基为:2 运算规则:“逢二进一,借一当二”的原则。 在八进制数据后加英文字母“B” 八进制:使用的符号:0、1、2、3、4、5、6、7; 运算规则:逢八进一; 基为:8 在八进制数据后加英文字母“O”, 十六进制:使用的符号:采用0~9和A、B、C、D、E、F六个英文字母一起共十六个代码。 运算规则:逢十六进一
基为:16 在十六进制数据后加英文字母“H”以示分别。 那么二进制数与八进制、十进制,十六进制数是怎么转换的呢 3、协作提高:用讲解法对二进制数与十进制数、十六进制数之间相互的转换的原理及方法(将二进制数字表示的位权值与十进制数字表示的位权值加以对比),叫几位学生到黑板上来做,其它同学在下面草稿纸上做。观察在黑板上做的同学的对错情况,要知道错,错在那里。 由N进制数转换成十进制数的基本做法是,把N进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。 各数制的权 如:十进制中,各位的权为10n-1 二进制中,各位的权为2n-1 十六进制中,各位的权为16n-1 八进制中,各位的权为8n-1 1)、二进制转换为十进制 各数制中整数部分不同位的权为“基的n-1次方(n为数值所在的位数,n的最小值取1)”,小数部分不同位的权值为“基的-n次方,从左向右,每移一位,幂次减1”。 二进制数的基数为2 例()2=()D