一个关于计算机位的问题

今天看书看到16进制数和位的关系了!!!!但有些问题搞不懂啊!!!
想问下位是不是由01组成啊!!怎样才算一位!!!!平常说的计算机有32位又是什么呢!!!字节与位和16进制数有什么关系呢!!!!
我的想法是如果一个变量占用4字节内存..因为一字节等于八位..那他等于就占了32位!!!但是32位又怎么用1..2表示呢..!!
各位大侠帮下忙 呵呵 语言形象点 我加分啊!
谢谢

我们经常说到网速,而提到网速,经常省略了单位,往往只是说G、M、K,其实G、M、K是数量的简略表示法,换算公式:1G=1024M,1M=1024K,1K=1024,就相当于我们中国人说的亿、万、千、百、十,只是数量的简略表示而已,并不是单位。

B是Byte的意思,Byte是字节的意思,是存储空间的基本计量单位
bit是位的意思,是说二进制数的长度单位,比如10011001就是8位二进制数
这个bit就是网速的基本计量单位bps里的b,bps的意思是bits per Second,即每秒传输多少位数(二进制)
为什么这里是bits而不是bit了呢?这是英文与中文的区别,复数的表示法。
二进制数是计算机内部使用的基本表达语言,所以位(bit)是计算机中最小的数据单位。
1字节在计算机里存储为一个8位进制数,这是固定的。

提到了字节,不得不再提到“字”这个计量单位:“字”由若干个字节构成,字的位数叫做字长,字长就是说字所对应的二进制数的长度。不同的机器有不同的字长。例如一台8位机,它的1个字就等于1个字节,字长为8位。如果是一台16位机,那么,它的1个字就由2个字节构成,字长为16位。
前期的DOS就是8位的,后期的DOS是16位的,Win9X是基于DOS的,所以也是16位的,NT核心的Windows是32位的,现在也有了64位的XP/2003,CPU也有了64位的,这个操作系统和CPU所说的位就是bit的意思,即二进制数的长度。
字节是固定由8位二进制构成,64位系统就代表了64位的二进制代表一个字,换算成字节就是64/8=8,即是说由8字节构成一个字,32位系统就是32/8=4,4个字节代表一个字。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-03-17
一个八进制数比如:123
转换为十进制就为:1*8^2+2*8^1+3*8^0
一个16进制的:123,转换为十进制就为:1*16^2+2*16^1+3*16^0
“^” 是多是次方的意思。。

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
二、十进制转八进制
如:5621转为八进制
8|5621
702 ―― 5 第一位(个位)
87 ―― 6 第二位
10 ―― 7 第三位
1 ―― 2 第四位
最后得八进制数:127658
三、十进制数十六进制
如:76521转为十六进制
16|76521
4726 ――5 第一位(个位)
295 ――6 第二位
18 ――6 第三位
1 ―― 2 第四位
最后得1276516
二进制与十六进制的关系
2进制 0000 0001 0010 0011 0100 0101 0110 0111
16进制 0 1 2 3 4 5 6 7
2进制 1000 1001 1010 1011 1100 1101 1110 1111
16进制 8 9 a(10) b(11) c(12) d(13) e(14) f(15)
可以用四位数的二进制数来代表一个16进制,如3A16 转为二进制为:
3为0011,A 为1010,合并起来为00111010。可以将最左边的0去掉得1110102
右要将二进制转为16进制,只需将二进制的位数由右向左每四位一个单位分隔,将各单位对照出16进制的值即可。
二进制与八进制间的关系
二进制 000 001 010 011 100 101 110 111
八进制 0 1 2 3 4 5 6 7
二进制与八进制的关系类似于二进制与十六进制的关系,以八进制的各数为0到7,以三位二进制数来表示。如要将51028 转为二进制,5为101,1为001,0为000,2为010,将这些数的二进制合并后为1010010000102,即是二进制的值。
若要将二进制转为八进制,将二进制的位数由右向左每三位一个单位分隔,将事单位对照出八进制的值即可。

16-32
先将16进制数字化成2进制数字,再从小数点依次向两边将改2进制数字5位一分,每5位就对应一个32进制数字。5位不足的时候,可以补0来解决。整数部分在其高位补0,小数在低位补0。

举例说明下:
A82.5换算成32进制,先将A82.5化成其对应的2进制数字 1010 1000 0010.0101

..........
第2个回答  2008-03-17
饿..拿书看去