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 ...
随机推荐
- 实用类-<字符串与基本类型的转换>
字符串与基本类型的转换 字符串->基本类型 int i5=Integer.parseInt("123"); System.out.println(i5); 基本类型-> ...
- iOS学习7:iOS沙盒(sandBox)机制(一)之获取沙盒路径及目录说明(转)
转:http://my.oschina.net/joanfen/blog/151145 一.iOS沙盒机制 iOS的应用只能访问为该应用创建的区域,不可访问其他区域,应用的其他非代码文件都存在此目录下 ...
- springboot#下载文件
膜拜大神 这就是我要的滑板鞋! @RequestMapping(value = "/media", method = RequestMethod.GET) public Respo ...
- what is 'linesize alignment' meaning?
链接: https://stackoverflow.com/questions/35678041/what-is-linesize-alignment-meaning
- Azure DNS-
先看什么是DNS,通常来讲,DNS是将域名解析成IP的服务,例如www.azure.cn对应的IP地址是139.217.8.104 使用域名访问有如下好处: 1. 好记,使用特定的字母组合,代替ip地 ...
- FMDB数据迁移
https://www.jianshu.com/p/736b00b3a1e1 2017.08.25 15:44* 字数 500 阅读 1474评论 0喜欢 4 公司项目中,一般都需要做数据持久化,我们 ...
- dropdownlist select的用法
<tr> <td></td> <td>@Html.DropDownList("ddlSex",@Mode ...
- Python 中的经典类新式类
Python 中的经典类新式类 要知道经典类和新式类的区别,首先要掌握类的继承 类的继承的一个优点就是减少代码冗余 广度优先和深度优先,这主要是在多类继承的时候会使用到 经典类和新式类的主要区别就是类 ...
- Android数据库高手秘籍(二):创建表和LitePal的基本用法
原文:http://blog.jobbole.com/77157/ 上一篇文章中我们学习了一些Android数据库相关的基础知识,和几个颇为有用的SQLite命令,都是直接在命令行操作的.但是我们都知 ...
- 【rabbitmq】Queueingconsumer被废止后老代码如何做的解决方案
amqp-client 3.x之前的rabbitmq版本有个消费者的写法是借助于Queueingconsumer的: QueueingConsumer consumer = new QueueingC ...