16进制

PHP实现IP–数字互相转换

十年热恋 提交于 2019-12-14 11:57:01
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> PHP实现IP–数字互相转换 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>第一php网提供的教程--PHP实现IP--数字互相转换</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> </head> <body> <?php /* * 作者:XXXX */ //将IP转换为数字 function ipton($ip) { $ip_arr=explode('.',$ip);//分隔ip段 foreach ($ip_arr as $value) { $iphex=dechex($value);//将每段ip转换成16进制 if(strlen($iphex)<2)//255的16进制表示是ff,所以每段ip的16进制长度不会超过2 { $iphex='0'.$iphex;/

C语言程序设计100例之(24):数制转换

◇◆丶佛笑我妖孽 提交于 2019-12-12 12:42:45
例24 数制转换 题目描述 请你编一程序实现两种不同进制之间的数据转换。 输入格式 共三行,第一行是一个正整数,表示需要转换的数的进制n(2≤n≤16),第二行是一个n进制数,若n>10则用大写字母A-F表示数码10-15,并且该n进制数对应的十进制的值不超过1000000000,第三行也是一个正整数,表示转换之后的数的进制m(2≤m≤16)。 输出格式 一个正整数,表示转换之后的m进制数。 输入样例 16 FF 2 输出样例 11111111 (1)编程思路。 十进制整数转换为R进制整数的基本方法是:“除R取余”。具体做法为:对于十进制数整数,用R连续除要转换的十进制整数及各次所得之商,直除到商等于0时为止,则各次所得之余数即为所求R进制整数由低位到高位的值。这个过程可以写成一个简单的循环。 一般而言,对于任意的R进制数 A n-1 A n-2 …A 1 A 0 可以表示为以下和式: A n-1 ×R n-1 +…+A 1 ×R 1 +A 0 ×R 0 (其中R为基数) 这个和式也称为“按权展开式”。 R进制数转换为十进制数的基本方法是将R进制数的各位按权展开相加即可。 本例的思路是:将输入的n进制整数按权值展开后转换为十进制整数,再将所得的十进制整数采用“除m取余”转换为m进制整数即可。 (2)源程序。 #include <stdio.h> int main() { char

记录BigInteger的两个构造方法

谁都会走 提交于 2019-12-09 18:26:09
记录BigInteger的两个构造方法 构造方法: BigInteger​(byte[] val) 先说一下此构造方法是怎么得到结果的: 打印结果可以得出结论: BigInteger 中 toString(进制)方法 构造方法: BigInteger​(int signum, byte[] magnitude) 先说一下此构造方法是怎么得到结果的: --------------------------------------------------------------------------------------------------------------------------------------- 如果着急,可直接拉到最后看结论。如果结论看不懂,可以从头慢慢看起,也查阅别人的相关文档 --------------- 以下全为个人理解,知识有限,理解可能有错,谨慎借鉴 ------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------- 构造方法: BigInteger​(byte

C语言第八讲,指针*

ぃ、小莉子 提交于 2019-12-06 06:35:56
C语言第八讲,指针*             C语言第八讲,指针* 一丶简单理解指针 说到指针,很多人都说是C语言的重点. 也说是C语言的难点. 其实指针并不是难.而是很多人搞不清地址 和 值.以及指针类型. 为什么这样说. 假设有两个变量,如下 int nNum1 = 1; int nNum2 = 0x00401000; 变量nNum1 保存的值是1 变量nNum2 保存的是一个16进制数值. 那么如果我们把保存16进制的这个变量.当作指针. 也就是说它保存了一个16进制数值而已. 我们可以通过16进制找到里面存储的值. 但是因为是保存地址的变量.所以我们需要加上特殊符号进行定义. 例如:    int *nNum2 = 0x004010000; 指针其实就是保存了一个特殊的数值而已. 而通常这个数值我们说是地址. 如果我们保存了1的地址,那么我们就可以访问1了. 怎么访问? 可以通过取内容符号进行访问. int nNum = 1; int *p = &nNum1; //保存1的地址,我们可以不用管.也可以理解为一个16进制数值而已. *p = 3; //修改地址空间的值. 二丶指针的数据类型 说到指针.其实我们说的并不是保存地址的难点.难点是该如何解释这个地址. 例如我们知道定义一个变量.我们可以知道这个变量的内存空间跟随这数据类型走. 例如:    int nNum1 = 3

sprintf简介

≯℡__Kan透↙ 提交于 2019-12-06 04:27:10
s p r i n t f 基本用法 输入一段有特点的字符串 #include <cstdio> #include <cstring> using namespace std; int main(){ char a[100]; int pos=0; for(int i=1;i<=10;i++){ pos+=sprintf(a+pos," %d-",i); } a[pos-1]='\n'; printf(a); return 0; } 把整数123打印成一个字符串保存在s中。 sprintf(s,"%d", 123); //产生"123" 可以指定宽度,不足的左边补空格: sprintf(s,"%8d%8d", 123, 4567); //产生:" 123 4567" 当然也可以左对齐: sprintf(s,"%-8d%8d", 123, 4567); //产生:"123 4567" 也可以按照16进制打印: sprintf(s,"%8x", 4567); //小写16进制,宽度占8个位置,右对齐 sprintf(s,"%-8X", 4568); //大写16进制,宽度占8个位置,左对齐 这样,一个整数的16进制字符串就很容易得到,但我们在打印16进制内容时,通常想要一种左边补0的等宽格式,那该怎么做呢?很简单,在表示宽度的数字前面加个0就可以了。 sprintf(s,"%08X",

Bugku-CTF加密篇之这不是md5(666c61677b616537333538376261353662616566357d)

只愿长相守 提交于 2019-12-06 02:07:04
这不是md5 666c61677b616537333538376261353662616566357d 本题要点:16进制转化 首先题目里说,这不是md5 那么观察一下这一串字符 (1)数字为0-9,字母中,字符没有超过F。 (2)字符两两结合对应的十进制小于256。注:FF(十六进制)=255(十进制) 因此,猜测为16进制 用在线解密网站转码一下~ 在线网站: https://www.bejson.com/convert/ox2str/ 得到flag,提交即可 完成~~ 来源: https://www.cnblogs.com/0yst3r-2046/p/11956084.html

春秋-SQLi题

余生长醉 提交于 2019-12-05 18:11:10
这道题挺好的 学到的知识 sprintf()构成的sql注入漏洞 题目环境今天做的时候坏了 留下这几篇博客学习 https://blog.csdn.net/nzjdsds/article/details/82156123 //这篇强力推荐 https://www.cnblogs.com/wosun/p/11462305.html https://blog.csdn.net/WQ_BCJ/article/details/85215662 另一道sqli 学到的知识 注意注入点可以改成 16进制 再phone处 16进制就事hex值 来源: https://www.cnblogs.com/tlbjiayou/p/11939204.html

C语言sprintf函数的深入理解

こ雲淡風輕ζ 提交于 2019-12-05 13:55:31
由于sprintf跟printf在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf比printf有用得多。所以本文着重介绍sprintf,有时也穿插着用用 pritnf。 sprintf是个变参函数,定义如下: int sprintf( char *buffer, const char *format [, argument] … ); 除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数:格式化字符串上。 printf 和sprintf都使用格式化字符串来指 定串的格式,在格式串内部使用一些以“%”开头的格式说明符(format specifications)来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要 的字符串。 1. 格式化数字字符串 sprintf最常见的应用之一莫过于把整数打印到字符串中,所以,spritnf在大多数场合可以替代itoa。如: //把整数123打印成一个字符串保存在s中。 sprintf(s, “%d”, 123); //产生“123″ 可以指定宽度,不足的左边补空格: sprintf(s, “%8d%8d”, 123, 4567); //产生:“ 123 4567″ 当然也可以左对齐:

DAY05 Python中进制之间的转换

旧巷老猫 提交于 2019-12-03 14:26:47
进制转换 # 二进制转十进制 print(int('110', 2)) # 八进制转十进制 print(int('123', 8)) # 十六进制转十进制 print(int('a', 16)) # 十进制转二进制 print(bin(123)) # 十进制转八进制 print(oct(10)) # 十进制转十六进制 print(hex(16)) 来源: https://www.cnblogs.com/Ghostant/p/11799676.html

0x7fffffff的意思

倾然丶 夕夏残阳落幕 提交于 2019-12-03 11:31:46
今天看到一个向后端发送的请求,传了一个参数0x7fffffff,很惊讶 于是搜索了0x7fffffff 7fffffff是8位16进制 每个16进制代表4个bit 8✖4bit=32bit=4Byte f的二进制为:1111,7的二进制位0111 int类型的长度位4Byte 左边起,第一位为符号位,0代表正数,1代表负数 0x7fffffff代表int的最大值 本文转载自: https://www.cnblogs.com/twodoge/p/11362292.html 来源: https://www.cnblogs.com/smart-girl/p/11794055.html