php 16进制转字符串,怎么把字母转换成16进制?

用户投稿 61 0

关于“php_字母转16进制”的问题,小编就整理了【3】个相关介绍“php_字母转16进制”的解答:

怎么把字母转换成16进制?

可以用查表法:

查表得到字母的二进制编码,如ASCII表,然后将二进制数每四位一组,转为16进制。

可以用一个C++程序实现:

#include <string>

std::string string_to_hex(const std::string& input)

{

    static const char* const lut ="0123456789ABCDEF";

    size_t len = input.length();

    std::string output;

    output.reserve(2 * len);

    for (size_t i = 0; i < len; ++i)

    {

        const unsigned char c = input[i];

        output.push_back(lut[c >> 4]);

16进制与字母的转换?

举点例子:

十六进制转十进制:ox25A 对应的十进制就是 2*16^2 +5*16^1 + 10*16^0 = 602

十进制转十六进制:则反过来算

602/16 = 37 余 10

37/16 = 2 余 5

2/16 = 0 余 2

十六进制则为 ox25A

十六进制数值用 0-F表示, A-F代表10-15

将十进制数转换为十六进制数怎么做?

将10进制数转换成16进制数,就是将被转换的10进制数除16,得到的商为16进制数的高位数,余数为16进制的个位数,如果余数是0到9,则直接放在个位,如果余数是大于9小余16,则应分别依次用字母A,B,C,D,E,F代替,放在个位。例如:十进制123转换成十六进制就应该是123÷16=7…11,十六进制数为7B。

一.十进制转换十六进制

若十进制数23785转为十六进制,则用 23785/16=1486余............9, 1486/16=92余……14, 92/16=5余………….12,

5/16=0余……………..5,十六进制中,10对应为a、11对应为b、。。。。。。、15对应为f,再将余数倒写为5ce9,则十进制23785=十六进制5ce9。

二.十六进制转换十进制

十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方。

所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。

假设有一个十六进数 2AF5:

用竖式计算: 2AF5换算成10进制:

第0位: 5 * 16^0 = 5

第1位: F * 16^1 = 240

第2位: A * 16^2 = 2560

第3位: 2 * 16^3 = 8192

直接计算就是:

5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997

到此,以上就是小编对于“php_字母转16进制”的问题就介绍到这了,希望介绍关于“php_字母转16进制”的【3】点解答对大家有用。

抱歉,评论功能暂时关闭!