Go语言进制与转换
常见进制有以下几种:
十进制转八进制:不断除以 8,直到 0 为止,余数倒过来即可。
十进制转十六进制:同上。
其他进制互转:
比如 1 在二进制中:
- 二进制:只有 0 和 1,Go语言中不能直接使用二进制表示整数;
- 八进制:0-7,以数字 0 开头;
- 十进制:0-9;
- 十六进制:0-9 以及 A-F,以 0X 开头,A-F 以及 X 不区分大小写。
任意进制转换为十进制
二进制转十进制:从最低位开始,每个位上数乘以 2 的位数减 1 次方然后求和。1011 = 1*20 + 1*21 + 0*22 + 1*23 = 11
八进制转十进制:从最低位开始,每个位上数乘以 8 的位数减 1 次方然后求和。0123 = 3*80 + 2*81 + 1*82 + 0*83 = 83
其他进制转十进制同理。十进制转其他进制
十进制转二进制:不断除以 2,直到 0 为止,余数倒过来即可,如下图所示:十进制转八进制:不断除以 8,直到 0 为止,余数倒过来即可。
十进制转十六进制:同上。
其他进制互转:
- 二进制转换八进制:将二进制数从低位开始,每三位一组,转换成八进制数即可;
- 二进制转十六进制:将二进制数从低位开始,每四位一组,转换成十六进制数即可;
- 八进制转换二进制:将八进制数每 1 位转换成一个 3 位的二进制数(首位 0 除外);
- 十六进制转二进制:将十六进制每 1 位转换成对应的一个 4 位的二进制数即可。
反码补码
对于有符号数而言,二进制的最高为是符号位:0 表示正数,1 表示负数。比如 1 在二进制中:
1 使用二进制表示为:0000 0001
-1 使用二进制表示为:1000 0001
1 -1
原码 0000 0001 1000 0001
反码 0000 0001 1111 1110
补码 0000 0001 1111 1111
- 0 的反码补码都是 0
- 计算机是以补码形式运算的
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算