计算机组成原理(六)-浮点数存储和浮点数计算

你的程序、打开的文本为什么老是乱码?先来认识一下世界的编码集

ASCII:因为最开始计算机是美国人发明的,所以最早的编码集只为美国服务,包含95个可打印字符,33个不可打印字符(包括控制字符)一共127个,而127个只需要7个bit就可以表示,为了以后拓展方便(后续确实也扩充了),最后定为8个二进制表示一个对应的字符,这也是1byte=8bit的由来,所以ASCII表中的每个值都是一个字节表示。如阿拉伯数字1就在表中的49位,用二进制表示就是00110001。

 

Unicode:随着互联网的普及,计算机走向了世界,原先的ASCII编码已经不再适用于每个国家,所以有了Unicode编码集,Unicode又称万国码,几乎包含了世界所有国家的符号和文字,而我们常用的UTF-8就是一字节为单位对Unicode进行重新编码的结果,在UTF-8中中文3个字节,英文只占1个字节。

GB2312:我们中国自己的编码集,被称作国标,共收录了7445个字符,包括6763个汉字和682个其他符号。而我们常用GBK是对GB2312的拓展,并向下兼容GB2312,在GBK中不论中英文都是双字节的。

那么现在来回答最一开始的问题,其实想一下就知道,一个UTF-8下的中文用GBK去反编码,3字节强制转2字节,自然就出现了乱码的现象,所以只要做到请求方和响应方编码的统一,也就不存在乱码现象了。

二进制:来自机器的自白,我的故事里没有你。

我们学习计算机的第一天,可能就有人告诉我们,机器只认0和1,也就是所谓的二进制,二进制和十进制一样,我们日常使用的十进制是逢十进一,而二进制就是逢二进一,那么为什么机器一定要用二进制呢?其实现代计算机使用二进制是历史的选择,你想要表示一个彩虹七种颜色,就需要一个能够表示七种状态的元件来完成,那么这个计算机就有可能是七进制的,现实世界中这种元件几乎没有,而能表示两种状态的电子元件比比皆是,而多种状态相应也会带来复杂性的几何倍数的升级,所以最后计算机的所有组件都选择了二进制的电子元件。

二进制与十进制的转换关系:以数字6为例,二进制就是110,也就是说6=0*2的0次方+1*2的1次方+1*2的二次方,那么十进制转二进制,还是以6来说,6/2=3余0,3/2等于1余1,1/2=0余1,将余数从右往左依次排列,就有了110.

二进制将计算机中的数分为有符号数和无符号数

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值