赞
踩
目录
数位:指数字符号在一个数中所处的位置。
基数:指在某种进位计数制中数位上所能使用的数字符号的个数。例如十进制的基数为10
位权:数制中某一位上的1所表示数值的大小(所处位置的价值)。例如十进制的230,1的位权是100,2的位权是10,3的位权是1
在计算机汇编语言中,常用的进制有二进制、八进制和十进制。
数制的表示有2种方法,一种表示方法是数字下标法,对于不同进制的数可以将它们加上括号再用数字下标表示进制:
例如:(110010011111)2 代表二进制数 ; (6137)8 代表八进制数
另一种是用后缀字母表示进制:
二进制 B (binary)
八进制 O (octal)
十进制 D (decimal)
十六进制 H (hexadecimal)
基数为2,数值部分用两个不同的数字0、1来表示。
1101.01(2)=1*20+0*21+1*22+1*23 +0*2-1+1*2-2=1+0+4+8+0+0.25=13.25(10)
所以总结起来通用公式为:
abcd.efg(2)=d*20+c*21+b*22+a*23+e*2-1+f*2-2+g*2-3(10)
例如:二进制数100011转成十进制数可以看作这样:
数字中共有三个1 即第六位一个,第二位一个,第一位一个(从右到左),然后对应十进制数即2的0次方+2的1次方+2的5次方, 即
100011=32+0+0+0+2+1=35
基数为10,数值部分用0、1、2、3、4、5、6、7、8、9来表示.
如:255=(11111111)B
255/2=127=====余1
127/2=63======余1
63/2=31=======余1
31/2=15=======余1
15/2=7========余1
7/2=3=========余1
3/2=1=========余1
1/2=0=========余1
789=1100010101(B)
789/2=394 余1 第10位
394/2=197 余0 第9位
197/2=98 余1 第8位
98/2=49 余0 第7位
49/2=24 余1 第6位
24/2=12 余0 第5位
12/2=6 余0 第4位
6/2=3 余0 第3位
3/2=1 余1 第2位
1/2=0 余1 第1位
- 十进制转二进制C++代码
-
- void DtoB(int d) {
- if(d/2)
- DtoB(d/2);
- cout<<d%2;
- }
-
-
-
-
- 十进制转换二进制python代码
-
- def Dec2Bin(dec):
- temp = []
- result = ''
- while dec:
- quo = dec % 2
- dec = dec // 2
- temp.append(quo)
- while temp:
- result += str(temp.pop())
-
- return result
- print(Dec2Bin(62))
- #dec要为正整数
- =====================================
- def bilibili(b):
- t=[]
- i=''
- e=''
- while b<0:
- b=-b
- i='-'
- while b//2!=0:
- a=b%2
- t.append(a)
- b=b//2
- if b!=0:
- t.append(1)
- else:
- t.append(0)
- while t:
- e+=str(t.pop())
-
- return (i+"0b"+e)
-
- #b要为整数,效果同Python3.8内置函数bin()
十六进制:逢十六进一
基数是16,有十六种数字符号,除了在十进制中的0至9外,还另外用6个英文字母A、B、C、D、E、F来表示十进制数的10至15。
手工写的有点丑,请见谅。(哈哈哈哈哈)
二进制转十六进制口诀:
8位数列,四位一组,8 4 2 1对应从左至右排列值,为1便有对应值,为0 则无对应值。四位和相加转换(英文字母A、B、C、D、E、F来表示十进制数的10至15。)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。