Golang的进制转换实战案例
Golang的进制转换实战案例
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.常用进制概述
1>.进制概述
进制也就是进位制,是人们规定的一种进位方法。举个例子:二进制就是逢二进一,八进制就是封八进一,十进制就是逢十进一,十六进制就是锋十六进一,以此类推,X进制就是逢X进位。 下面我们说一下在编程中常用的几种进制:
二进制(Binary,缩写BIN):
是计算技术中广泛应用的一种进制数。二进制数据就是用0和1两个数字来表示的数,它的基数为2,进位规则是"逢二进一",借位规则是"借一当二"。
温馨提示:不能在程序中定义二进制数字。
八进制(Octal,缩写OCT):
一些编程语言中常常以数字0开始表示该数字是八进制,采用0,,,,,,,7这八个数字来表示的数,他的基数为8,进位规则是"逢八进一",借位规则是"借一当八"。
十进制(Decimal,缩写DEC):
生活中常用的就是十进制,比如1张100元人名币价值等于100个一元的硬币。采用,,,,,,,,,9这十个数字来表示的数,它的基数为10,进位规则是"逢十进一",借位规则是"借一当十"。
十六进制(Hexadecimal,缩写HEX):
在计算机中十六进制一般表示内存地址。通我们日常生活中的表示方法不一样,采用,,,,,,,,,,A,B,C,D,E,F这十个数字[-]和六个字母[A-F]来表示的数,它的基数为16,进位规则是"逢十六进一",借位规则是"借一当十六"。
2>.进制转换
我记得小时候学习进制转换还是在初中的数学课本里学习的,但现在小学的课本里出现了进制转换的影子。我记得去年跟我领导的聊天时,他给我看手机里记录他小学三年级儿子的课本,其中有一道数学题搞不懂,想让我帮忙解释一下,其实就是计算机的二进制转换十进制的知识点。 大家都是九年义务教育,对简单的进制转换的概念都已经了如指掌了,毕竟生活中我们也常用到进制呢,我这里就不罗嗦了。想要简单回顾一下,可以看一下我之前学习时记录比较粗糙的笔记,博主推荐阅读:
https://www.cnblogs.com/yinzhengjie/p/8656833.html
https://www.cnblogs.com/yinzhengjie/p/8666354.html 接下来,我们一起来学习一下在Golang中,常用进制是如何转换的吧。
二.进制转换概述
1>.十进制转换其它进制案例
package main import (
"fmt"
) func main() { /*
温馨提示:
自动推导类型的变量默认是十进制(Decimal,缩写DEC)的数字,这可能和咱们生活中的习惯方式有关。
%b:
是一个占位符,表示一个二进制(Binary,缩写BIN)格式的数字
*/
year :=
fmt.Printf("十进制2020对应的二进制表示为:[%b]\n", year) /*
%o:
是一个占位符,表示一个八进制(Octal,缩写OCT)格式的数字
*/
fmt.Printf("十进制2020对应的八进制表示为:[%o]\n", year) /*
%x|%X:
是一个占位符,表示一个十六进制(Hexadecimal,缩写HEX)格式的数字
*/
fmt.Printf("十进制2020对应的十六进制表示为:[%x]\n", year)
fmt.Printf("十进制2020对应的十六进制表示为:[%X]\n", year)
}

2>.八进制转换其它进制案例
package main import (
"fmt"
) func main() {
/*
温馨提示:
以数字0开始表示该数字是八进制
%b:
是一个占位符,表示一个二进制(Binary,缩写BIN)格式的数字
*/
year :=
fmt.Printf("八进制03744对应的二进制表示为:[%b]\n", year) /*
%d:
是一个占位符,表示一个十进制(Decimal,缩写DEC)格式的数字
*/
fmt.Printf("八进制03744对应的十进制表示为:[%d]\n", year) /*
%x|%X:
是一个占位符,表示一个十六进制(Hexadecimal,缩写HEX)格式的数字
*/
fmt.Printf("八进制03744对应的十六进制表示为:[%x]\n", year)
fmt.Printf("八进制03744对应的十六进制表示为:[%X]\n", year) }

3>.十六进制转换成其它进制案例
package main import (
"fmt"
) func main() { /*
温馨提示:
以0x开始表示该数字是十六进制
%b:
是一个占位符,表示一个二进制(Binary,缩写BIN)格式的数字
*/
year := 0x7e4
fmt.Printf("十六进制0x7e4对应的二进制表示为:[%b]\n", year) /*
%o:
是一个占位符,表示一个八进制(Octal,缩写OCT)格式的数字
*/
fmt.Printf("十六进制0x7e4对应的八进制表示为:[%o]\n", year) /*
%d:
是一个占位符,表示一个十进制(Decimal,缩写DEC)格式的数字
*/
fmt.Printf("十六进制0x7e4对应的十进制表示为:[%d]\n", year) }

Golang的进制转换实战案例的更多相关文章
- JavaSE教程-03Java中分支语句与四种进制转换
一.分支语句 计算机源于生活,程序模拟现实生活,从而服务生活 行为模式 1,起床,刷牙,洗脸,吃早餐,上课,回家,睡觉(顺序性) 2,如果时间不太够,打个滴滴快车,如果时间够,坐个地铁(选择性) 3, ...
- 进制与进制转换DAY2
进制和进制转换 一.进制的基础 1.十进制(案例) 系数:0-9 进位规则:逢十进一 权:基数的次幂 基数:几进制基数就是几 规律:右侧第一位的权是10的0次幂,每向左移动一位次幂会+1. 进制的表示 ...
- java se系列(二) 关键字、注释、常量、进制转换、变量、数据类型转换、运算符
1 关键字 1.1 关键字的概述 Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名.方法名.类名.包名. 1.2 常见的关键字 备注 ...
- 2 Java基础语法(keyword,标识符,凝视,常量,进制转换,变量,数据类型,数据类型转换)
1:keyword(掌握) (1)被Java语言赋予特定含义的单词 (2)特点: 所有小写. (3)注意事项: A:goto和const作为保留字存在. B:类似于Notepad++这种高级记事本会对 ...
- 颜色转换、随机、16进制转换、HSV
颜色转换.随机.16进制转换.HSV: /** * * *-----------------------------------------* * | *** 颜色转换.随机.16进制转换.HSV * ...
- Day02_IP地址详解&进制转换&DOS基本命令与批处理
学于千峰教育开源课程 感谢 千峰教育官网 b站在线视频 IP地址详解 一.简单局域网的构成 局域网:一般称为内网 简单局域网的构成:交换机.网线.PC(其他IT终端) 交换机:用来组建内网的局域网的设 ...
- Go 获取键盘输入,进制转换
#### Go 获取键盘输入,进制转换 最近爱上<<珂矣的心灵独语>> 连续听一下礼拜也不觉得厌: 喜欢她的宁静与安然,喜欢她的坦荡与欢喜,喜欢她的禅意与智慧; ***撑着一苇 ...
- SQL Server 进制转换函数
一.背景 前段时间群里的朋友问了一个问题:“在查询时增加一个递增序列,如:0x00000001,即每一个都是36进位(0—9,A--Z),0x0000000Z后面将是0x00000010,生成一个像下 ...
- [No000071]C# 进制转换(二进制、十六进制、十进制互转)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
随机推荐
- Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2)D(树状数组)
//树状数组中数组的特性,有更巧妙的方法.//我们知道在树状数组中,对于数组tree[i],它所维护的区间为[i−lowbit(i)+1,i]//所以对于tree[2^i],它所维护的区间就为[1,2 ...
- 二、linux基础-路径和目录_用户管理_组_权限
2.1路径和目录1.相对路径:参照当前目录进行查找. 如:[root@localhost ~]# cd ../opt/hosts/备注:相对路径是从你的当前目录开始为基点,去寻找另外一个目录(或者 ...
- python基础day05
上节内容变量if else注释 # ''' msg ''' 3个引号 打印多行 ', "" 双单引号的意义是一样的 缩进 本节内容pycharm使用 集成开发环境(IDE,Inte ...
- 阿里云服务器Ubantu16.04升级python3.6
从ppa上下载下载python3.6 sudo apt-get install software-properties-common#使用 “add-apt-repository” 脚本添加 ppa ...
- 「CF852D」Exploration Plan
题目描述 给定一张 \(V\) 个点,\(M\) 条边的边带权无向图,有 \(N\) 个人分布在图上的点上,第 \(i\) 个人在 \(x_i\) 这个点上,定义从一个点走到另一个点的时间为所走的路径 ...
- 上篇: php 微信公众号 基于Thinkphp3.2框架开发
说明:本教程是自己自学+自己的理解+扩展(包括学习过程中遇到的一些问题) 参考教程:麦子学院--李忠益--http://www.maiziedu.com/u/70409/ 微盟: http://www ...
- 设计模式课程 设计模式精讲 16-4 代理模式Coding-动态代理
1 代码演练 1.1 动态代理 2 疑难解答 2.1 动态代理invoke怎么执行的? 2.2 感觉这块理解的不是很好,下边有时间再看看 1 代码演练 1.1 动态代理 重点: 重点关注动态代理类 测 ...
- 爱屋吉屋官网、APP停运!互联网房屋中介真的迎来了至暗时刻吗?
2018年底到2019年初,全球较差的经济大环境终于引来爆炸式的连锁反应.仅从国内的互联网行业来看,很多企业在浪潮退去后都只是在"裸泳".比如被爆料2018年全年亏损109亿元,且 ...
- LeetCode刷题--基础知识篇--KMP算法
KMP算法 关于字符串匹配的算法,最知名的莫过于KMP算法了,尽管我们日常搬砖几乎不可能去亲手实现一个KMP算法,但作为一种算法学习的锻炼也是很好的,所以记录一下. KMP算法是根据三位作者(D.E. ...
- 单元测试框架TestNg使用总结
工欲善其事,必先利其器 单元测试的重要性是不言而喻的.但如果没有好的单元测试工具,是无法激起开发人员的欲望. Testng便是利器之一.TestNG是基于Annotation的测试框架的先驱,他拥有通 ...