2018/04/03 PHP 中的 进制计算问题
还是先抛出一个问题
017 + 1 = ?
--
如果你知道的话,那也就不用看下面了,哈哈。
答案是
// 15
--
如果你想的答案和这个不对的话,说明你也有这个问题,也应该学习一下啦。
--
首先,我们得明白 017 这个数字到底是多少?
我们都知道进制的概念,但是若果没接触到的话可能不太熟悉。
PHP默认数字是以 10 进制的,比如平常用的数字。
--
但是有些时候一个数字会申明它的进制,这里给出说明
// 八进制 ,前面加0代表8进制 比如 017 // 十六进制,前面加0x代表16进制 , 0 1 2 3 4 5 6 7 8 9 a b c d e f 比如 0x1c ."<br>"; //28 // 二进制 ,前面加0b代表2进制 比如 0b11
--
关于进制之间的计算方法,网上也有很多,这里也不做赘述
--
这里说明一下进制间的转换方法
bindec() — 二进制转换为十进制 decbin() — 十进制转换为二进制 dechex() — 十进制转换为十六进制 decoct() — 十进制转换为八进制 hexdec() — 十六进制转换为十进制 octdec() — 八进制转换为十进制 base_convert()– 在任意进制之间转换数字
--
另外加一些我感觉比较好玩的
赋值运算 echo 1|2|3|4; \\ 7 //利用位运算的左移一位,使整数增大2倍;相应得位运算的右移一位,使整数减小2倍 $a=3; echo $a << 1 ,'<br/>';//6 echo $a << 2 ,'<br/>';//12
--
这里只是讲解了概念,并没有什么解决实际问题,但是雨果之后遇到进制类的问题可以直接想到这方面的知识。
之后遇到话再回来补充。
2018/04/03 PHP 中的 进制计算问题的更多相关文章
- Java I/O : Java中的进制详解
作者:李强强 上一篇,泥瓦匠基础地讲了下Java I/O : Bit Operation 位运算.这一讲,泥瓦匠带你走进Java中的进制详解. 一.引子 在Java世界里,99%的工作都是处理这高层. ...
- JS中的进制转换
1 前言 js的进制转换, 分为2进制,8进制,10进制,16进制之间的相互转换, 我们直接利用 对象.toString()即可实现. 仅作为记录. 2 代码 //10进制转为16进制 (10).to ...
- 二进制之Java中的进制(二)
1. jdk中的进制转换 十进制转十六进制 Integer.toHexString(int i); 十进制转八进制 Integer.toOctalString(int i); 十进制转二进制 Inte ...
- java中16进制转换10进制
java中16进制转换10进制 public static void main(String[] args) { String str = "04e1"; String myStr ...
- C语言学习笔记:15_c语言中的进制操作.c
/* * 15_c语言中的进制操作.c * * Created on: 2015年7月5日 * Author: zhong */ #include <stdio.h> #include & ...
- Python语言中各种进制相互转换
目录 Python语言中各种进制相互转换 将二进制.八进制.十进制的数分别转换成十进制的方法 将十进制转换成二进制.八进制.十六进制 Python语言中各种进制相互转换 本文参考自https://ww ...
- Oracle 中的进制转换
Oracle 中的进制转换 */--> Oracle 中的进制转换 Table of Contents 1. 进制名 2. 10进制与16进制互相转换 2.1. 10进制转换为16进制 2.2. ...
- java中的进制转换
java中的进制转换及转换函数 转自:https://blog.csdn.net/V0218/article/details/74945203 Java的进制转换 进制转换原理 十进制 转 二进制: ...
- SqStack进制计算
基于SqStack 进制计算 #include<malloc.h> #include<stdio.h> #include<stdlib.h> typedef int ...
随机推荐
- nginx_lua_waf 部署、测试记录
ngx_lua_waf ngx_lua_waf是一个基于lua-nginx-module(openresty)的web应用防火墙 源码:https://github.com/loveshell/ngx ...
- mysql存储过程中使用事务
DROP PROCEDURE IF EXISTS test_sp1 CREATE PROCEDURE test_sp1( ) BEGIN ; ; START TRANSACTION; INSERT I ...
- Mac下安装和卸载MySQL(含配置)
安装 首先需要下载 MySQL Community Server 下载地址:https://dev.mysql.com/downloads/mysql/ 进入MySQL的下载界面(https://d ...
- 《转》Python学习(16)-python异常
转自 http://www.cnblogs.com/BeginMan/p/3171445.html 一.什么是错误,什么是异常,它们两者区别 这里解释如下:个人觉得很通俗易懂 错误是指在执行代码过程中 ...
- 【C#新特性】不用out ref同时返回多个值-元组Tuple
元组Tuple,它是一种固定成员的泛型集合 下面先看看官方的一个使用例子: 创建一个包含7个元素的Tuple数组 // Create a 7-tuple. , , , , , );// Display ...
- 【Linux】 crontab 实现每秒执行
linux crontab 命令,最小的执行时间是一分钟, 如果要在小于一分钟执行.就要换个方法来实现 1 crontab 的延时: 原理:通过延时方法 sleep N 来实现每N秒执行. cr ...
- Python在mysql中进行操作是十分容易和简洁的
首先声明一下,我用的是Windows系统! 1.在Python中对mysql数据库进行操作首先要导入pymysql模块,默认情况下,Python中是没有安装这个模块的, 可以在Windows的命令行中 ...
- 使用SQLite3工具查看sqlite.db文件
http://www.sqlite.org OS X自从10.4后把SQLite这套相当出名的数据库软件,放进了作业系统工具集里.OS X包装的是第三版的SQLite,又称SQLite3.这套软件有几 ...
- LeetCode 12 Integer to Roman (整数转罗马数字)
题目链接: https://leetcode.com/problems/integer-to-roman/?tab=Description String M[] = {"", ...
- hihoCoder挑战赛28 题目1 : 异或排序
题目1 : 异或排序 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个长度为 n 的非负整数序列 a[1..n] 你需要求有多少个非负整数 S 满足以下两个条件: ...