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 ...
随机推荐
- 我的学习经历——Linux系统入门教程
我想把最近学习Linux的经验和过程分析出来,当时是在上大三,是学生一枚,以前对开源也没有什么特殊的认识,只觉得很高深,不明觉厉的东西,在当时因为学校要参加职业技能大赛,其中有一团体性质的比赛,几个同 ...
- vue + element ui table表格二次封装 常用功能
因为在做后台管理项目的时候用到了大量的表格, 且功能大多相同,因此封装了一些常用的功能, 方便多次复用. 组件封装代码: <template> <el-table :data=&qu ...
- eslint检测规则中,括弧和函数名之间去掉空格的配置
在.eslintrc.js中配置: // add your custom rules here rules: { // no space before function name "spac ...
- luogu P4013 数字梯形问题
三倍经验,三个条件,分别对应了常见的3种模型,第一种是限制每个点只能一次且无交点,我们可以把这个点拆成一个出点一个入点,capacity为1,这样就限制了只选择一次,第二种是可以有交点,但不能有交边, ...
- scrapy 开发流程
一.Spider 开发流程 实现一个 Spider 子的过程就像是完成一系列的填空题,Scrapy 框架提出以下问题让用户在Spider 子类中作答: 1.爬虫从哪个或者那些页面开始爬取? 2.对于一 ...
- Spark教程——(2)编写spark-submit测试Demo
创建Maven项目: 填写Maven的pom文件如下: <?xml version="1.0" encoding="UTF-8"?> <pro ...
- Mac OS 下升级gcc遇到的坑
为了升级gcc,原来版本是4.8,想升级到4.9,因为在Mac上安装cocoNLP一直出错,想试试看是不是gcc版本太低的原因,因此在此想要升级到4.9 经历了三个问题: - brew update太 ...
- 解决css中display:inline-block产生的空隙问题
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【Linux shell】 while read line
循环中的重定向或许你应该在其他脚本中见过下面的这种写法:while read linedo …done < file刚开始看到这种结构时,很难理解< file是如何与循环配合在一起工作的. ...
- 【Python数组及其基础操作】【numpy ndarray】
一.创建数组 在python中创建数组最简单的办法就是使用array函数.它接受一切序列型的对象,然后产生一个含有传入数据的numpy数组.其中,嵌套序列(比如由一组等长列表组成的列表)会被转换为一个 ...