- 浏览: 242278 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
thepastsee:
304572183股票交流 欢迎加入
实时股票 -
345161974:
很不错,我第一个接触的CSS卡片布局效果,多谢
css卡片效果
前些时候工作时候,需要用到进制转换,这个问题在刚刚接触计算机理论时候,还是很会的,好久不用,居然模糊了……
- 十进制转换为二进制、八进制、十六进制
1
从十进制向其它进制转换,用的是就用该数字不断除以要转换的进制数,读取余数。连接一起就可以了。
1
<strong></strong>
1
<strong>代码:</strong>
1
<?php
2
/**
3
*十进制转二进制、八进制、十六进制 不足位数前面补零*
4
*
5
* @param
array
$datalist
传入数据
array
(100,123,130)
6
* @param int
$bin
转换的进制可以是:2,8,16
7
* @
return
array
返回数据
array
() 返回没有数据转换的格式
8
* @Author chengmo QQ:8292669
01
* @copyright http:
//www.cnblogs.com/chengmo
02
*/
03
function
decto_bin(
$datalist
,
$bin
)
04
{
05
static
$arr
=
array
(0,1,2,3,4,5,6,7,8,9,
'A'
,
'B'
,
'C'
,
'D'
,
'E'
,
'F'
);
06
if
(!
is_array
(
$datalist
))
$datalist
=
array
(
$datalist
);
07
if
(
$bin
==10)
return
$datalist
;
//相同进制忽略
08
$bytelen
=
ceil
(16/
$bin
);
//获得如果是$bin进制,一个字节的长度
09
$aOutChar
=
array
();
10
foreach
(
$datalist
as
$num
)
11
{
12
$t
=
""
;
13
$num
=
intval
(
$num
);
14
if
(
$num
===0)
continue
;
15
while
(
$num
>0)
16
{
17
$t
=
$arr
[
$num
%
$bin
].
$t
;
18
$num
=
floor
(
$num
/
$bin
);
19
}
20
$tlen
=
strlen
(
$t
);
21
if
(
$tlen
%
$bytelen
!=0)
22
{
23
$pad_len
=
$bytelen
-
$tlen
%
$bytelen
;
24
$t
=
str_pad
(
""
,
$pad_len
,
"0"
,STR_PAD_LEFT).
$t
;
//不足一个字节长度,自动前面补充0
25
}
26
$aOutChar
[]=
$t
;
27
}
28
return
$aOutChar
;
29
}
测试:
var_dump(decto_bin(array(128,253),2));
var_dump(decto_bin(array(128,253),8));
var_dump(decto_bin(array(128,253),16));
X-Powered-By: PHP/5.2.0
Content-type: text/htmlarray(2) {
[0]=>
string(8) "10000000"
[1]=>
string(8) "11111101"
}
array(2) {
[0]=>
string(4) "0200"
[1]=>
string(4) "0375"
}
array(2) {
[0]=>
string(2) "80"
[1]=>
string(2) "FD"
}
- 二进制、八进制、十六进制转十进制
这个转换用乘法,如:1101 转十进制:1*2^3+1*2^2+0*2^1+1*2^0
代码:
01
<?php
02
/**
03
*二进制、八进制、十六进制 转十进制*
04
*
05
* @param array $datalist 传入数据array(df,ef)
06
* @param int $bin 转换的进制可以是:2,8,16
07
* @return array 返回数据 array() 返回没有数据转换的格式
08
* @copyright chengmo QQ:8292669
09
*/
10
function
bin_todec(
$datalist
,
$bin
)
11
{
12
static
$arr
=
array
(
'0'
=>0,
'1'
=>1,
'2'
=>2,
'3'
=>3,
'4'
=>4,
'5'
=>5,
'6'
=>6,
'7'
=>7,
'8'
=>8,
'9'
=>9,
'A'
=>10,
'B'
=>11,
'C'
=>12,
'D'
=>13,
'E'
=>14,
'F'
=>15);
13
if
(!
is_array
(
$datalist
))
$datalist
=
array
(
$datalist
);
14
if
(
$bin
==10)
return
$datalist
;
//为10进制不转换
15
$aOutData
=
array
();
//定义输出保存数组
16
foreach
(
$datalist
as
$num
)
17
{
18
$atnum
=
str_split
(
$num
);
//将字符串分割为单个字符数组
19
$atlen
=
count
(
$atnum
);
20
$total
=0;
21
$i
=1;
22
foreach
(
$atnum
as
$tv
)
23
{
24
$tv
=
strtoupper
(
$tv
);
25
26
if
(
array_key_exists
(
$tv
,
$arr
))
27
{
28
if
(
$arr
[
$tv
]==0)
continue
;
29
$total
=
$total
+
$arr
[
$tv
]*pow(
$bin
,
$atlen
-
$i
);
30
}
31
$i
++;
32
}
33
$aOutData
[]=
$total
;
34
}
35
return
$aOutData
;
36
}
测试:
var_dump(bin_todec(array('ff','ff33','cc33'),16));
var_dump(bin_todec(array('1101101','111101101'),2));
var_dump(bin_todec(array('1234123','12341'),8));
X-Powered-By: PHP/5.2.0
Content-type: text/htmlarray(3) {
[0]=>
int(255)
[1]=>
int(65331)
[2]=>
int(52275)
}
array(2) {
[0]=>
int(124)
[1]=>
int(508)
}
array(2) {
[0]=>
int(342099)
[1]=>
int(5345)
}
后话,这些只是实现方式,其实不在乎php语言还是其它,实现思路都是一样的。php其实内置不少函数可以完成这些内容:
bindec(),decoct(),dechex() base_convert() decbin() 这里只是实现思路而已。呵呵!
发表评论
-
phphphphphphph
2012-03-01 22:27 0回归回归lkjlkjlkjlkjlkjlkjlkj -
php_相对路径_转
2012-03-01 22:07 0<?php $str1 = "/home/i ... -
php_自定义排序 关联数组
2012-03-01 21:11 0<?php //用PHP设计一个函数,对学生英语考试得 ... -
php_讲义
2012-02-29 13:07 0ewrwerwer -
php 禁止危险的函数_转
2012-02-27 12:28 0阿酷影 一些需要禁用的PHP危险函数 ... -
转_phpcan't return a result set in the given context及参数解释
2012-02-13 23:49 1285关键就是两点 defin ... -
php_可以编的表格
2012-01-29 10:42 870虽 -
php_oa
2011-10-20 16:48 679dfsdfsfsf -
jquery_upload
2011-09-12 13:07 697http://fangyong2006.iteye.com/b ... -
php__表单处理
2011-08-21 17:04 839sdfadfadsf -
$_SESSION 无法跨页保存数据
2011-08-21 11:46 931今天可遇到问题 $_SESSION 无法跨页保存数据 原 ... -
php 下载地址
2011-08-13 14:51 781window http://windows.php.n ... -
订单号__14位_转
2011-06-27 23:45 907http://bbs.phpchina.com/thread- ... -
9个免费 php 库_转
2011-06-24 21:17 10329个强大免费的PHP库 & 20 你应该知道的PHP ... -
php_错误解决_sessioin
2011-06-01 16:29 1072写购物车时遇到问题, Fatal error ... -
php面试题_转
2011-05-27 01:25 795kjljk -
jquery_ajax_table_php
2011-05-27 01:04 709jljklkj -
php算法_王伟阳
2011-05-23 13:17 816232342 -
php简历
2011-05-18 00:39 1083kjlkjlkj -
黑夜路人转__
2011-05-13 21:41 797lklk
相关推荐
本文将深入探讨标题和描述中涉及的“八进制_矩阵十六进制_进制_进制转换_进制转换 matlab”相关知识点。 首先,让我们从进制的基础概念开始。进制是一种数字系统,它使用一组特定的符号来表示数值。我们最熟悉的十...
* 八进制转换为十六进制:先将八进制数转换为二进制数,再将二进制数转换为十六进制数。 * 十六进制转换为八进制:先将十六进制数转换为二进制数,再将二进制数转换为八进制数。 五、总结复习 进制数之间的转换是...
进制转换是计算机科学中的基础概念,涉及到二进制、八进制、十进制、十六进制等不同数字系统间的转换。在编程中,掌握各种进制转换的方法至关重要,因为计算机内部处理数据主要采用二进制。本资料包着重讨论了如何...
这个工具包针对单片机开发人员设计,提供了一种便捷的方式进行不同进制之间的转换,包括二进制(Binary)、八进制(Octal)、十进制(Decimal)和十六进制(Hexadecimal)。在单片机的世界里,数据通常是以二进制...
标题中的“jinzhizhuanhuan.rar”很可能是一个包含有关进制转换的C语言代码的压缩文件,而“十六进制_进制转换_进制转换代码”这部分描述了这个压缩包的主要内容,即一系列用于进行不同进制之间转换的编程代码。...
"二进制、八进制、十进制、十六进制之间的转换算法" 在计算机科学中,数字系统是一种基础的概念,它可以分为四种基本类型:二进制、八进制、十进制和十六进制。这些数字系统之间的转换是计算机科学中一个非常重要的...
但在计算机科学中,二进制(2进制)、八进制(8进制)和十六进制(16进制)扮演了重要角色,因为它们能更高效地表示和处理二进制数据。 1. **二进制(Binary)**:二进制仅使用两个数字0和1,它是所有数字系统的...
3. **八进制转其他进制**:类似二进制转换,但首先需要将八进制转换为二进制,然后再转为目标进制。 4. **十进制转其他进制**:使用长除法,每次除以目标基数,记录商和余数,余数是转换后的数字的低位,商继续除法...
在C#这种高级编程语言中,进行进制转换可以方便地处理二进制、八进制、十进制和十六进制等不同数字系统之间的数据交互。本项目是一个专门针对进制转换的小程序,旨在帮助用户便捷地实现任意进制之间的转换。 C#中的...
### C语言顺序栈实现十进制到二进制、八进制、十六进制的转换 #### 一、概述 本篇文章将详细介绍如何使用C语言中的顺序栈来实现十进制数字向二进制、八进制以及十六进制的转换。通过分析给出的代码示例,我们将...
2. **浮点数到十六进制的转换**:转换过程首先将浮点数分解为其二进制表示,然后将指数和尾数转换为二进制形式,最后将二进制转换为十六进制。指数部分通常需要考虑偏移值,尾数部分则需要判断是否为规格化数并处理...
该程序允许用户在二进制、八进制、十进制和十六进制之间进行相互转换。接下来,我们将深入探讨不同进制之间的转换方法,并解释程序中的关键部分。 ### 进制基础 首先,我们需要了解什么是进制。进制是一种表示数值...
常见的进制有二进制(Binary)、八进制(Octal)、十进制(Decimal)和十六进制(Hexadecimal)。理解并能熟练运用这些进制转换对于学习和工作在IT领域的人来说至关重要。 二进制是计算机的基础,所有数据在计算机...
在编程领域,尤其是在C#语言中,数据的进制转换是一项基本操作,它涉及将数值从一种基数(如十进制)转换为另一种基数(如二进制、八进制或十六进制)。这里我们将详细探讨这个主题,并提供C#代码实现。 一、十进制...
"二进制八进制十进制十六进制之间的转换算法" 本文主要讲解了二进制、八进制、十进制、十六进制之间的转换算法。包括十进制与二进制之间的转换、八进制与二进制之间的转换、十六进制与二进制之间的转换等。 十进制...
本资源是一个Python编写的进制通用转换类,它提供了将十进制数转换为二进制、八进制、十六进制,以及将十六进制数转换为十进制的功能。这个类对于需要进行进制转换的开发者来说非常有用,因为它简化了进制转换的过程...
python实现进制转换 python实现进制转换 python实现进制转换 python实现进制转换 python实现进制转换 python实现进制转换 python实现进制转换 python实现进制转换 python实现进制转换 python实现进制转换 python实现...
例如,“进制转换”这个工具可以帮助我们快速便捷地完成不同进制间的转换,无论是二进制、八进制、十进制还是十六进制。 了解并熟练掌握进制转换是理解和操作计算机底层机制的关键,这对于编程、网络通信、数据存储...
本篇文章将深入探讨如何使用SQL语句实现不同进制之间的转换,包括二进制到十进制、八进制到十六进制等。 首先,让我们关注二进制到十进制的转换。在SQL中,可以使用内置函数`BIN_TO_NUM`(在某些数据库系统中可能为...