进制与字符编码

进制

整数有四种表示方式:

  • 二进制:0,1 ,满2进1.以0b或0B开头。

  • 十进制:0-9 ,满10进1.

  • 八进制:0-7 ,满8进1. 以数字0开头表示。

  • 十六进制:0-9及A-F,满16进1. 以0x或0X开头表示。A-F不区分大小写。

如:0x21AF +1= 0X21B0

进制的基本转换

十进制和二进制互转

二进制转成十进制:乘以2的幂数。如0b10001,1+222*2等于17。

十进制转成二进制:除以2取余数

二进制和八进制互转:0b1100 1000 等于 011 001 000 等于310

二进制和十六进制互转:0B1001 1101 等于 1001 1101等于9D

十进制和八进制互转:100先转为2进制0b110 0100等于 1 100 100等于144

十进制和十六进制互转90先位置2进制0b101 1010等于0b 0101 1010等于5A

注意:1000 0000 结果不是-0,而是-128。

字符编码

  • ASCII码表,只能表示128个字符,单字节编码表

  • unicode码表,可以表示所有的符号,固定双字节编码表

  • utf-8码表,可以表示所有的符号,可变字节长度编码表

一个英文字母,占1个字节;一个汉字,占3个字节

  • GBK码表,可以表示中文,但不能表示世界上所有符号

一个英文字母,占1个字节,一个汉字,占2个字节

特点:

char类型的常量值可以是用单引号引起来的单个字符,也可以是一个unicode码值,也可以是一个整型的常量值。任何编码表都是从unicode里面扩展而来的。

Last updated

Was this helpful?