《JAVA编程的逻辑》第二章读后感悟

2.1 整数的二进制表示与位运算

关于本节内容主要介绍了正负整数的二进制表示,以及运算,并未有什么难点,如有什么不懂推荐去学习一下计算机基础或者数字逻辑,上面都详细介绍了进制的转换以及运算。

其中需要注意的是位运算位运算有移位运算和逻辑运算。移位有以下几种。

1)左移:操作符为<<,向左移动,右边的低位补0,高位的就舍弃掉了,将二进制看作整数,左移1位就相当于乘以2。

2)无符号右移:操作符为>>>, 向右移动,右边的舍弃掉,左边补0。

3)有符号右移:操作符为>>.向右移动,右边的舍弃掉,左边补什么取决于原来最高位是什么,原来是1就补1,原来是0就补0,将二进制看作整数,右移1位相当于除以2。

逻辑运算有以下几种。

按位与&:两位都为1才为1。

按位或|:只要有一 -位为1, 就为1。

:按位取反~: 1变为0, 0变为1。

按位异或^:相异为真,相同为假。

2.2 小数的二进制表示

这节我不太好表述出来,还是推荐去看原文,理解并不难,但是用自己的语言不太好说。

(小数的二进制转换方法:方法一:二进制的小数转换为十进制主要是按权展开。方法二:十进制的小数转换为二进制,主要是小数部分乘以2,取整数部分依次从左往右放在小数点后,直至小数点后为0。)

2.3 字码的编码与乱码

编码分为两大类:非Unicode码,Unicode码。

非Unicode码包含:ASCII、ISO 8859-1、Windows-1252、GB2312、GBK、GB18030和Big5

Unicode编码:就是给所有字符分配了唯一数字编号,这个编号范围从0x000000~0x10FFFF,包括110多万。

编码转换:几种格式的编码可以借助Unicode编号进行编码转换。

乱码:因为使用编码的不同使得解析错误和编码转换时的错误导致。

乱码恢复:1.使用UltraEdit,UltraEdit支持编码转换和切换查看编码方式,也支持文件的二进制显示和编辑,所以我们以UtraEdit为例,其他一些编辑器可能也有类似功能。

2. 使用JAVA,具体操作还请看原书。

2.4 char的真正含义

char本质上是-一个固定占用两个字节的无符号正整数,这个正整数对应于Unicode编号,用于表示那个Unicode编号对应的字符。。由于固定占用两个字节,char 只能表示Unicode编号在65536以内的字符,而不能表示超出范围的字符。

另附char的赋值方式:

char c ='A'
char c ='马'
char c =39532
char c =0x9a6c
char c ='\u9a6c'


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值