- 博客(3)
- 收藏
- 关注
转载 Java实现模拟二进制加法
这段时间看到一个面试题面试题是这样的:(1) 给定两个只含有0和1字符的字符串,实现二进制加法。如:String str1 = “101”String str2 = “11”实现binarySum(String s1,String s2),使得输入以上字符时返回字符串"1000"。拿到这个需求之后 开始是一脸懵逼,后来仔细分析一下 其实不是那么的难。首先想要去解决这个问题得知道 二进制加法是怎么回事,因此在这里普及一下二进制加法的知识。101011————1000其实就是和十进制加法一
2020-05-18 22:54:18
887
原创 Java String 类型的HashCode 源码分析
Java String 类型的HashCode 源码分析同样是这几天看 HashMap的源码 当 key类型是String类型的时候,需要求出key的hashCodepublic V put(K key, V value) { return putVal(hash(key), key, value, false, true); }static final int hash(Object key) { int h; return (key ==
2020-05-16 11:34:29
416
原创 Java位运算(& | ^ )小结
Java位运算(& | ^ )小结这几天看了HashMap的源码,对于Java的一些位运算 &(且运算) ,^(异或运算) , | (或运算) 等等 >>(右位移运算) <<(左位移运算)等等,接下来就是我来总结一下。首先 需要普及一些 计算机的基础知识。首先在计算机的底层,存储数据的格式是二进制,因此比如说 7 咱们以8位(一个字节)为例,他的值就是 0000 0111 。其中这个数字第一位是符号位 正数位0 负数位1 相对的 -7 的值就是: 1000
2020-05-15 22:25:19
252
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人