区块链学习-进制、GO运算符
int 与 uint 区别
int 表示有符号整数
uint 表示无符号整数
1 | int8 -128~127 |
十进制转二进制
1. 正整数转二进制
正整数使用二除法,得到的结果倒叙即为该十位数的二进制数
2. 负数转二进制
先得到正数对应的二进制数,然后取反,再加一即为该负数的二进制数
3. 小数转二进制
- 整数部分+小数点+小数部分
- 整数部分:按照前面的步骤正常转换
- 小数部分:小数部分乘2,得到结果的整数部分n,若小数部分不为零,继续上面的步骤。最后得到的n的排列即为小数部分
二进制转十进制
1. 正二进制数
正二进制即首位为0的二进制数,转十进制只需每位乘以2的对应次方,然后想加即可。
2. 负二进制数
负二进制数,首先取反,然后按正二进制数计算即可
3. 带小数的二进制数
小数部分每位乘的是2的对应负次方
int8的取值范围解读
int8的取值范围是 1111 11110111 1111 ?(-127127)
二进制类型分为原码
反码
补码
,计算机为了保持数据的可分辨性(正负区别)及消除正零、负零的问题,最终采用补码形式存储数据
所以int8的取值范围实际为 1000 0000 ~ 0111 1111(-128~127)
正二进制数:
1 | 反码 = 原码 |
负二进制数:
1 | 反码 = 除了符号位,原码取反 |
二进制转与八进制/十六进制等互转
二转八:
二进制数从(小数点)向两侧每三位一分,不够三位的在两端用0补齐,然后每三位转为对应的八进制数即可
八转二:每位八进制数转为二进制即可
二转n进制/n转二进制
二转n: n进制数的最大可显示值对应的二进制位数为m,二转n进制时每m位等分即可
n转二: 同八转二
Go语言运算符
1 | //Go语言中,以下写法错误: |
注:(以下js/c/java…输出报错)
1 | var a = 10 |
区块链学习-进制、GO运算符