snrg.net
当前位置:首页 >> ASCII,UniCoDE和二进制,十六进制的关系? >>

ASCII,UniCoDE和二进制,十六进制的关系?

他们是完全两种风马牛不相及的东西!ASCII,Unicode是用特定的编码表示特定的字符.比如,ASCII用97表示字符'a'.二进制,十六进制是数字的表现形式,用特定的数字格式来表示特定的数值.比如二进制用10表示数值(10进制的)2

严格说来,ASCII与二进制没什么关系.所谓二进制,是一种表示数的方式,从低到高的位权按照2的整数次幂由0逐位增1;而ASCII是美国标准信息交换代码,是用7位二进制代码对128个字符进行编码.当然,一个用ASCII字符串表示的数(可能是二进制、或者是八进制、也可能是十进制甚至十六进制),可以通过函数运算转换成相应进制所表示的数值.

先说 二进制.二进制同十进制类似,也是一种计数方式,不过在二进制中最大的单位数字是 1(十进制中是 9),也就是说十进制中的 2 在二进制中就要写成 10 了.以此类推,例如 7 在二进制中就应该是 111.二进制是唯一能让计算机识别的

2进制的是这样换的 我只会除2取余法 比如(123)10转化为(?)2进制的123除2……1 得61 61除2……1 得3030除2……0 得1515除2……1 得77除2……1 得33除2……1 得11除2……1 得0 从下往上看为1111011 就是(1111011)2进制的16进制就是除16 再用得数除16 余数从下往上看就是答案简单吧 如果余数大于10就是10=a 11=b 12=c 13=d 14=e 15=f 最多就是15了哦 除16余数不会大于15的88

就是换算关系,比如说A吧, 二进制:1000001b(后面+b表示二进制) 八进制:0101(前面加0表示八进制) 十进制:65 十六进制:0x41(前面加0x表示十六进制)书写形式不一样而已,但指向的都是同一位置

用16进制本质上就是用2进制..存储空间的分配多以2的倍数,编码的码位值和机内码空间也是这样.用16进制比较紧凑,不浪费字符个数,常用unicode的ucs-2编码中,用16bit表示码位值,正好用完4个16进制值.换成10进制,需要5个数位,而且有一半用不上,空间浪费.

简单来说,ascii文件(文本文件)是基于字符编码的文件,常见的编码有ascii编码,unicode编码等等.二进制文件是基于值编码的文件,可以根据具体应用,指定某个值是什么意思(这样一个过程,可以看作是自定义编码.

不是你听错理解错了 就是你们老师脑子被人灌进水银了ASCII码可以被各种进制等价表示,2,8,10,16进制都可以而且ASCII码是连续的 如你所说0~127 那么就不存在你们老师所说的情况没有任何对低4位限制的情况

ascii也可以通过两个字节来表示一个汉字,与英文不同的是,这两个字节的最高位都是1,即值大于127

查一下ASCII码表 就可以发现 '1' 对应的十六进制是 31h 后面的h表示是十六进制hex的缩写.在ASCII码表中,字符的对应的ASCII码即可以用10进制表示,也可以用16进制表示.例如A 65是十进制,对应的16进制是 41H而十六进制的相加就是 逢16进1上面算 4+0+1+2 =7 2+3+3+3 =11(而十六进制的11是用B表示的)所以最后结果为 B7H了

网站首页 | 网站地图
All rights reserved Powered by www.snrg.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com