linux权限bcd码是6,字节,字,位,BCD码,进制等等乱七八糟的东东

字节(Byte):通常将可表示常用英文字符8位二进制称为一字节。

一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间.

符号:英文标点2占一个字节,中文标点占两个字节.

一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,如一个ASCII码就是一个字节,此类单位的换算为:

1千吉字节(KGB,KiloGigaByte)=1024吉字节

1吉字节(GB,GigaByte) =1024兆字节

1兆字节(MB,MegaByte) =1024千字节

1千字节(KB,KiloByte) =1024字节

1字节(Byte) = 8位(bit)

1.2 字符,字节,字符串

理解编码的关键,是要把字符的概念和字节的概念理解准确。这两个概念容易混淆,我们在此做一下区分:

概念描述 举例

字符 人们使用的记号,抽象意义上的一个符号。 '1', '中', 'a', '$', '¥', ……

字节 计算机中存储数据的单元,一个8位的二进制数,是一个很具体的存储空间。 0x01, 0x45, 0xFA, ……

ANSI

字符串 在内存中,如果“字符”是以 ANSI 编码形式存在的,一个字符可能使用一个字节或多个字节来表示,那么我们称这种字符串为 ANSI 字符串或者多字节字符串。 "中文123"

(占7字节)

UNICODE

字符串 在内存中,如果“字符”是以在 UNICODE 中的序号存在的,那么我们称这种字符串为 UNICODE 字符串或者宽字节字符串。 L"中文123"

(占10字节)

由于不同 ANSI 编码所规定的标准是不相同的,因此,对于一个给定的多字节字符串,我们必须知道它采用的是哪一种编码规则,才能够知道它包含了哪些“字符”。而对于 UNICODE 字符串来说,不管在什么环境下,它所代表的“字符”内容总是不变的。

二进制数系统中,每个0或1就是一个位(bit),位是内存的最小单位。

BCD码

即BCD代码。Binary-Coded Decimal‎,简称BCD,称BCD码或二-十进制代码,亦称二进码十进数。是一种二进制的数字编码形式,用二进制编码的十进制代码。这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。这种编码技巧,最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可免却使电脑作浮点运算时所耗费的时间。此外,对于其他需要高精确度的计算,BCD编码亦很常用。

由于十进制数共有0、1、2、……、9十个数码,因此,至少需要4位二进制码来表示1位十进制数。4位二进制码共有2^4=16种码组,在这16种代码中,可以任选10种来表示10个十进制数码,共有N=16!/(16-10)!约等于2.9乘以10的10次方种方案。常用的BCD代码列于末。

常用BCD编码方式

最常用的BCD编码,就是使用"0"至"9"这十个数值的二进码来表示。这种编码方式,在中国大陆称之为“8421码”。除此以外,对应不同需求,各人亦开发了不同的编码方法,以适应不同的需求。这些编码,大致可以分成有权码和无权码两种:

有权BCD码,如:8421(最常用)、2421、5421…

无权BCD码,如:余3码、格雷码…

以下为三种常见的BCD编码的比较。

十进数 8421-BCD码 余3-BCD码 2421-A码

(M10) D C B A C3 C2 C1 C0 a3 a2 a1 a0

0 0 0 0 0 0 0 1 1 0 0 0 0

1 0 0 0 1 0 1 0 0 0 0 0 1

2 0 0 1 0 0 1 0 1 0 0 1 0

3 0 0 1 1 0 1 1 0 0 0 1 1

4 0 1 0 0 0 1 1 1 0 1 0 0

5 0 1 0 1 1 0 0 0 0 1 0 1

6 0 1 1 0 1 0 0 1 0 1 1 0

7 0 1 1 1 1 0 1 0 0 1 1 1

8 1 0 0 0 1 0 1 1 1 1 1 0

9 1 0 0 1 1 1 0 0 1 1 1 1

常用BCD码

十进制数 8421码 5421码 2421码 余3码 余3循环码

0 0000 0000 0000 0011 0010

1 0001 0001 0001 0100 0110

2 0010 0010 0010 0101 0111

3 0011 0011 0011 0110 0101

4 0100 0100 0100 0111 0100

5 0101 1000 1011 1000 1100

6 0110 1001 1100 1001 1101

7 0111 1010 1101 1010 1111

8 1000 1011 1110 1011 1110

9 1001 1100 1111 1100 1010

-----------------------

什么是BCD码2006-3-19 13:24:45

bcd码也叫8421码就是将十进制的数以8421的形式展开成二进制,大家知道十进制是0~9十个数组成,着十个数每个数都有自己的8421码:

0=0000

1=0001

2=0010

3=0011

4=0100

5=0101

6=0110

7=0111

8=1000

9=1001

举个例子:

321的8421码就是

3 2 1

0011 0010 0001

具体:

bcd码是十位二进制码, 也就是将十进制的数字转化为二进制, 但是和普通的转化有一点不同, 每一个十进制的数字0-9都对应着一个四位的二进制码,对应关系如下: 十进制0 对应 二进制0000 ;十进制1 对应二进制0001 ....... 9 1001 接下来的10就有两个上述的码来表示 10 表示为00010000 也就是BCD码是遇见1001就产生进位,不象普通的二进制码,到1111才产生进位10000

举例:

某二进制无符号数11101010,转换为三位非压缩BCD数,按百位、十位和个位的顺序表示,应为__c__。

A.00000001 00000011 00000111 B. 00000011 00000001 00000111

C.00000010 00000011 00000100 D. 00000011 00000001 00001001

解:(1)11101010转换为十进制:234

(2)按百位、十位和个位的顺序表示,应为__c__。

“字”这个概念不是计算机语言中的专属概念,也很少用这个概念。是不是与“字节”的概念混淆了?计算机中,一个阿拉伯数字、英文字母(不分大小写)、标点符号等,都是占一个字节,只有汉字是占两个字节的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值