数字和字符串的区别

功能不同

1 != '1'

  • 数字能加减乘除,字符串不行
  • 字符串能表示电话号码,数字不行

存储方式不同

  • JS 中 数字是用64位浮点数的形式存储的
  • JS 中 字符串是用类似 UTF-8 的形式存储的

十进制转换为二进制方法:

  • 先用2整除一个十进制整数,得到一个商和余数
  • 再用2去除得到的商,又会得到一个商和余数
  • 重复操作到商为小于1时为止
  • 将得到的所有余数全部排列起来,再将它逆序排列即可

二进制转换为十进制方法:

  • 从右到左用二进制的每个数去乘以2的相应次方,小数点后则是从左往右
  • 如果首位是0就表示正整数,如果首位是1则表示负整数
  • 正整数可以直接换算,负整数则需要先取反再换算
  • 计算机内部表示数的字节单位是定长的。如8位、16位、32位。所以位数不够时,高位补零           

用十六进制表示二进制:

  • 因为二进制写起来慢
  • 十六进制有16个字符:0、1、2、3、4、5、6、7、8、9 和 A、B、C、D、E、F
  • 记住 8 4 2 1 对应 X X X X 从右往左每四位改写成一位
  • 把大于9的数字改为A、B、C、D、E、F

可以使用程序员计算器转换

  • HEX 表示 16 进制,BIN 表示 2 进制
  • OCT 表示 8 进制,DEC 表示 10 进制

字符串的存储

0~127 表示所有的符号

  • 0 表示结束字符
  • 10 表示换行
  • 13 表示回车
  • 32 表示空格
  • 33到47表示标点
  • 48到57表示数字符号
  • 65到90表示大写字母
  • 97到122表示小写字母
  • 127表示删除键

GB2312

  • 由中国国家标准局编写
  • 0000~FFFF 表示汉字
  • 一个16进制数是4个0/1位
  • FFFF就是4x4=16位,也就是两个字节
  • 最多收录 2^16 = 65536 个字符
  • 但只收录了 6000 多汉字、西文字母和日文假名

GBK

  • 国标扩由微软编写
  • 含21886个汉字和图形符号
  • 收录了中日韩使用的几乎所有汉字
  • 完全兼容 GB2312
  • 依然使用 16 位(两字节)

Unicode 

  • 已收录 13 万字符(大于 16 位),全世界通用
  • 以后还会继续扩充,不会停止
  • 每个字符要用三个及以上字节

UTF-8

  • 最少可用 8 位存一个字符
  • UTF-8 是 Unicode 的实现方式之一
  • 可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度

*本文为鲲游北冥的原创文章,著作权归本人和饥人谷所有,转载务必注明来源

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值