在Java里整数的表示就用的是Two's complement
转换方法:一个整数n, 想要得到-n的二进制表示,则可将n的二进制写出来,然后挨个翻转,完成后加1即可。比如 8 -> 00001000 -> 11110111 -> 11111000 -> -8
如此来算,则
00000001 ->1, 00000010 -> 2, ... , 01111111 -> 127
11111111 -> -1, 11111110 -> -2, ... , 10000001 -> -127, 10000000 -> -128
也可以这么想,n和-n加起来就是00000000 (往更高一位进一个1,100000000)
好处:加减都可以换成加法了。12-60 = 12 + (-60)
数学上怎么理解:
-n就是0 - n,然后0我们可以想像成100000000, 11111111-n就是把n 挨个翻转,但是11111111还比“0“多减了个1,所以我们要把结果加1. (就是减法上借位的思想)。
西瓜科学家的笔记本
Friday, January 18, 2019
01-18-2019
刷题:
Leetcode 819,
很简单,需要补充的:String methods, Collections (Map, Set), Map.Entry methods. Regex
Core Java Chapter 2 finished
Leetcode 819,
很简单,需要补充的:String methods, Collections (Map, Set), Map.Entry methods. Regex
Core Java Chapter 2 finished
Tuesday, January 15, 2019
Friday, January 11, 2019
Wednesday, January 9, 2019
01-09-2019
农历生日
路上看microservices
看Core Java I 11th edition
Read about 11 buzzwords (Chapter 1.2)
Chapter 1
1.2 11 buzzwords
路上看microservices
看Core Java I 11th edition
Read about 11 buzzwords (Chapter 1.2)
Chapter 1
1.2 11 buzzwords
- Simple
- Object-Oriented
- Distributed
- Robust
- Secure
- Arcitecture-Neutral (JVM, Java runtime system)
- Portable (size of primitive dat types are specified, for example int is always 32bit.)
- Interpreted (jshell in Java 9 for rapid and exploratory programming)
- High-Performance (just-in-time compilers)
- Multithreaded (use more processors in parallel)
- Dynamic
1.3 Java applets and the Internet
applets: Java programs that work on web pages (need a supporting browser)
But actually Flash became popular.
Nowadays usually can use HTML and Javascript
Thursday, May 17, 2018
读1997年写雷军的文章有感
里面有一些雷军的讲话很有道理,值得学习。
摘录几条在下面自己经常看看。
1. 计算机搞懂精髓以后,所有的东西都很简单。计算机不是一门理论性很强的学科,强调的是实践。
2. 雷军的工作任务是按半小时来定的,当时雷军有一个笔记本记着每半小时干了什么。“如果浪费了半小时时间,我就觉得很惭愧。后来我看到很多人不珍惜时间的时候,我就觉得这样的人真没出息。时间是自己的,你到一个公司打工的时候,偷懒,老板没有看见,就觉得自己又蒙了一下,玩猫和老鼠的游戏,真是没有必要。公司所付的那么一点钱,就买下了你一个月的青春?学会的东西首先是自己的,其次才是公司的。没有多少人真正计算过自己一个小时值多少钱。”
3. 最让雷军佩服的程序员是现在中文之星的核心程序员陈波。“他写程序全是在上班时间,他每天按时上班按时下班,从不加班,但上班时间他时间利用率很高,连水都不喝,女朋友的电话都是中午去接。像这样的人就是为写程序而生的,就像李昌镐是为下棋而生的一样。”
4. 雷军承认自己写程序不如陈波。“我有杂念,而真正第一流的程序员是没有杂念的。我曾经72小时不睡觉连续写程序,但这有什么了不起呢?别人也可以三天三夜在麻将桌上不下来,难的是早上8点钟开始打牌,打到12点,下午1点再开始打,打到下午5点,这样一直坚持一年。”
5. 写了这么多年程序,雷军感触最深的有两点:第一,程序不仅仅是核心程序员的,同时也应该是用户和同事参与完成的,所以,功劳应该属于大家,不能把光环套在一个人头上;第二,程序员要有方便别人,麻烦自己的精神。因为,程序员花两天改进的一个小模块,就有可能会省却了用户数以百万计的麻烦。雷军最烦听到有程序员对他讲,程序改起来太麻烦,这个小错误凑合算了的话。“程序员发现自己的程序中有一个小小bug没有改,就应该睡不着觉。”
6. 在雷军看来,公司里面一个人干一个半人的工作最理想。“一个人干一个人工作的公司是不行的,在这么激烈的竞争中,无法降低成本;一个人干两个人的工作,人员没有任何冗余,任何一个人走,都会对公司结构造成致命的损失,组织不能够安全运行。”
另外从文章里看到,雷军是一个很能表达的人,不光是说,而且文章也写的好。所以可以看出,交流,表达能力是非常非常重要的。
摘录几条在下面自己经常看看。
1. 计算机搞懂精髓以后,所有的东西都很简单。计算机不是一门理论性很强的学科,强调的是实践。
2. 雷军的工作任务是按半小时来定的,当时雷军有一个笔记本记着每半小时干了什么。“如果浪费了半小时时间,我就觉得很惭愧。后来我看到很多人不珍惜时间的时候,我就觉得这样的人真没出息。时间是自己的,你到一个公司打工的时候,偷懒,老板没有看见,就觉得自己又蒙了一下,玩猫和老鼠的游戏,真是没有必要。公司所付的那么一点钱,就买下了你一个月的青春?学会的东西首先是自己的,其次才是公司的。没有多少人真正计算过自己一个小时值多少钱。”
3. 最让雷军佩服的程序员是现在中文之星的核心程序员陈波。“他写程序全是在上班时间,他每天按时上班按时下班,从不加班,但上班时间他时间利用率很高,连水都不喝,女朋友的电话都是中午去接。像这样的人就是为写程序而生的,就像李昌镐是为下棋而生的一样。”
4. 雷军承认自己写程序不如陈波。“我有杂念,而真正第一流的程序员是没有杂念的。我曾经72小时不睡觉连续写程序,但这有什么了不起呢?别人也可以三天三夜在麻将桌上不下来,难的是早上8点钟开始打牌,打到12点,下午1点再开始打,打到下午5点,这样一直坚持一年。”
5. 写了这么多年程序,雷军感触最深的有两点:第一,程序不仅仅是核心程序员的,同时也应该是用户和同事参与完成的,所以,功劳应该属于大家,不能把光环套在一个人头上;第二,程序员要有方便别人,麻烦自己的精神。因为,程序员花两天改进的一个小模块,就有可能会省却了用户数以百万计的麻烦。雷军最烦听到有程序员对他讲,程序改起来太麻烦,这个小错误凑合算了的话。“程序员发现自己的程序中有一个小小bug没有改,就应该睡不着觉。”
6. 在雷军看来,公司里面一个人干一个半人的工作最理想。“一个人干一个人工作的公司是不行的,在这么激烈的竞争中,无法降低成本;一个人干两个人的工作,人员没有任何冗余,任何一个人走,都会对公司结构造成致命的损失,组织不能够安全运行。”
另外从文章里看到,雷军是一个很能表达的人,不光是说,而且文章也写的好。所以可以看出,交流,表达能力是非常非常重要的。
Subscribe to:
Posts (Atom)