二进制:只有0和1组成的一组数成为二进制数,计算机中的数据都是以二进制形式进行存储的。
通常一个二进制数最高位是1,那么对应的十进制数为负数,如果最高位是0,那么对应的数是正数
八进制:一个二进制数表示成八进制数,将该二进制数从右到左每三位一组,每一组算出对应的十进制数,
每组对应的十进制数连起来就是八进制表现形式。八进制表现形式最高是7
十进制:常用的数都是十进制数。
十六进制:0-9,a-f或A-F的表现形式,a-f表示的是10-15
一个数表现为十六进制,将该数的二进制表现形式从右到左每四位分一组,每一组计算出对应的十进制数,
如果该组计算出的十进制数大于9,则要用对应的字母表示,然后将每组算出的结果连起来便是该数的十六进制表现形式。
十进制转换成二进制:将一个数连续除以2得到的余数连起来就是该十进制数的二进制表现形式。
二进制转换成十进制:从右到左每位数乘以2的n次幂,第一位乘以2的0次幂,第二位乘以2的1次幂,,,
以此类推,最后将所有的结果相加得到的结果就是该二进制数对应的十进制数。
& :与运算、有假则假,可参与位运算
true & true = true;
true & false = false;
false & true = false;
false & false = false;
| :或运算、有真则真,可参与位运算
true | true = true;
true | false = true;
false | true = true;
false | false = false;
^ :异或运算、两边相同结果为假,两边不同结果为真,可参与位运算
true ^ true = false;
true ^ false = true;
false ^ true = true;
false ^ false = false;
&&:与、&&和&的区别:
&&:两个表达式中,当左边的表达式结果为false时,右边的表达式不会执行
& :两个表达式都会执行
||:或、|和||的区别
||:两个表达式中,当左边的表达式结果为true时,左边的表达式不会执行
| :两个表达式都会执行
! :非、取反
~ :反码、将一个十进制数的二进制表现形式进行取反,1变0,0变1
位运算:
位移运算是最快的运算方式,其运算方式是将该数的2进制表现形式进行位移。
左移:<< 左移位数越大,结果越大,
左移的运算:一个数左移多少位,就是该数乘以2的该位数次幂
右移:>> 右移位数越大,结果越小
右移的运算:一个数右移多少位就是该数除以2的该位数次幂
无符号右移: >>>
将一个2进制数右移后,其最高位缺失,需要补位,右移运算时缺失的位取决于原2进制数的最高位
若原2进制数的最高位是0,则用0来补齐缺失的位,若原2进制数的最高位是1,则用1来进行补齐
而无符号右移则无视原2进制数的最高位是0还是1,都用0来补齐
如何计算出一个负数的二进制表现的十进制值?
将该负数的二进制减去一再取反得出一个正数的二进制表现形式,该正数的十进制相反数就是该负数的二进制表示的十进制值
通常一个二进制数最高位是1,那么对应的十进制数为负数,如果最高位是0,那么对应的数是正数
八进制:一个二进制数表示成八进制数,将该二进制数从右到左每三位一组,每一组算出对应的十进制数,
每组对应的十进制数连起来就是八进制表现形式。八进制表现形式最高是7
十进制:常用的数都是十进制数。
十六进制:0-9,a-f或A-F的表现形式,a-f表示的是10-15
一个数表现为十六进制,将该数的二进制表现形式从右到左每四位分一组,每一组计算出对应的十进制数,
如果该组计算出的十进制数大于9,则要用对应的字母表示,然后将每组算出的结果连起来便是该数的十六进制表现形式。
十进制转换成二进制:将一个数连续除以2得到的余数连起来就是该十进制数的二进制表现形式。
二进制转换成十进制:从右到左每位数乘以2的n次幂,第一位乘以2的0次幂,第二位乘以2的1次幂,,,
以此类推,最后将所有的结果相加得到的结果就是该二进制数对应的十进制数。
& :与运算、有假则假,可参与位运算
true & true = true;
true & false = false;
false & true = false;
false & false = false;
| :或运算、有真则真,可参与位运算
true | true = true;
true | false = true;
false | true = true;
false | false = false;
^ :异或运算、两边相同结果为假,两边不同结果为真,可参与位运算
true ^ true = false;
true ^ false = true;
false ^ true = true;
false ^ false = false;
&&:与、&&和&的区别:
&&:两个表达式中,当左边的表达式结果为false时,右边的表达式不会执行
& :两个表达式都会执行
||:或、|和||的区别
||:两个表达式中,当左边的表达式结果为true时,左边的表达式不会执行
| :两个表达式都会执行
! :非、取反
~ :反码、将一个十进制数的二进制表现形式进行取反,1变0,0变1
位运算:
位移运算是最快的运算方式,其运算方式是将该数的2进制表现形式进行位移。
左移:<< 左移位数越大,结果越大,
左移的运算:一个数左移多少位,就是该数乘以2的该位数次幂
右移:>> 右移位数越大,结果越小
右移的运算:一个数右移多少位就是该数除以2的该位数次幂
无符号右移: >>>
将一个2进制数右移后,其最高位缺失,需要补位,右移运算时缺失的位取决于原2进制数的最高位
若原2进制数的最高位是0,则用0来补齐缺失的位,若原2进制数的最高位是1,则用1来进行补齐
而无符号右移则无视原2进制数的最高位是0还是1,都用0来补齐
如何计算出一个负数的二进制表现的十进制值?
将该负数的二进制减去一再取反得出一个正数的二进制表现形式,该正数的十进制相反数就是该负数的二进制表示的十进制值