进制
正十进制转换为二进制
- 除2取余法,使用十进制整数不断的除以2取出余数,直到商为0时将余数逆序排序。
所有十进制的45用二进制表示就是0b10 1101
上面的b就是二进制的意思,b和B都行
所以java中0b10 1101就是告诉了计算机这是二进制的
八进制0开头,十六进制0x开头
- 拆分法,将十进制整数拆分为若干个二进制权重的和,有该权重下面写1,否则写0(用这种)
二进制权重:20,21,22……
那么相应值是:1,2,4,8,16,32,64,128…
45 = > 32 + 8 + 4 + 1
所以45十进制转换为二进制的结果是:0010 1101
正二进制转换为十进制
- 使用二进制中的每个数字乘以当前位的权重再累加起来
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q8kLu4pI-1619025324771)(D:\picture_for_CSDN\正二进制转十进制.png)]
负十进制转换为二进制
- 先将十进制的绝对值转换为二进制,然后进行按位取反(0变成1,1变成0)再加1
负二进制转换为十进制的过程
先减一再按位取反,合并为十进制整数后添加负号