进制

二进制转16进制

谁说我不能喝 提交于 2019-12-06 04:54:17
#include<stdio.h> #include<string.h> int main(){ int N,n,k,t,i,j,m; char a[10005]; int b[10005]={0}; scanf("%d",&N); //2 while(N--){ scanf("%s",&a); //00011010 1A n=strlen(a); //n=8 for(i=0;i<n;i++) //b[i] 初始化 b[i]=0; k=0; t=1; m=0; for(i=n-1;i>=0;i--){ b[k]=b[k]+(a[i]-'0')*t;//b[0]=0 b[0]=2 b[0]=2 b[0]=10 b[1]=1 b[1]=1 b[1]=1 b[1]=1 t=t*2; //t=2 t=4 t=8 t=16 t=2 t=4 t=8 t=16 m++; //m=1 m=2 m=3 m=4 m=5 m=6 m=7 m=8 if(m%4==0){ k++; // k=2 t=1; // t=1 } } for(i=0;i<n;i++){ //对b[i]操作 if(b[i]>=10){ switch(b[i]){ case 10 : b[i]='A'; break; case 11 : b[i]='B'; break; case 12 : b[i]='C'; break; case

day 8 函数编程_byets

眉间皱痕 提交于 2019-12-06 03:27:35
定义 bytes类型是指一堆字节的集合,在python中以b开头的字符串都是bytes类型 b'\xe5\xb0\x8f\xe7\x8c\xbf\xe5\x9c\x88' #b开头的都代表是bytes类型,是以16进制来显示的,2个16进制代表一个字节。 utf-8是3个字节代表一个中文,所以以上正好是9个字节 Bytes类型的作用 计算机只能存储2进制, 我们的字符、图片、视频、音乐等想存到硬盘上,也必须以正确的方式编码成2进制后再存。 对于文字,我们可以以gbk编码,也可以以utf-8、ASCII编码。 对于图片,必须编码成PNG,JPEG等格式 对于音乐,必须编码成MP3,WAV等 在python中, 数据转成2进制后不是直接以0101010的形式表示的,而是用一种叫bytes(字节)的类型来表示,人类不可读。字符串转成bytes后长成这个样子 >>> s = "小猿圈" >>> s.encode("utf-8") # 以utf-8编码 b'\xe5\xb0\x8f\xe7\x8c\xbf\xe5\x9c\x88' #b开头的都代表是bytes类型,是以16进制来显示的,2个16进制代表一个字节。 utf-8是3个字节代表一个中文,所以以上正好是9个字节 在python中,字符串必须编码成bytes后才能存到硬盘上。 唉,你说,我之前学的文件操作时也没有把字符串编码后再存呀,

C++编程学习(二) 数据

旧街凉风 提交于 2019-12-06 02:19:54
博主已经有一些基础了,所以写的东西可能是容易错的,或者以前没记住的,或者是对理解知识点有帮助的。因此如果有纯小白看到了这篇博文,不懂的地方请自行百度啦~ 另外,本系列所有内容的图片均来自于西北工业大学魏英老师的MOOC教程,侵权删,讲得非常不错,推荐大家去看! 一、进制 1、计算机内的信息都是“0”和“1”的二进制形式。 2、二进制B,十进制D,八进制O,十六进制H。 3、10进制转2进制:【整数部分】不断除以2取余,余数从右往左排列;【小数部分】不断乘以2取整,从左向右排列。例如: 4、2进制转10进制: 5、2进制转16进制: 6、2进制转8进制: 7、进制互转: 二、数值数据(好像不常用) 1、0表示正数、1表示负数。 2、 原码:负数原码的符号位为1;   反码:负数的反码为将原码除符号位外的所有位按位取反;   补码:负数的补码为将反码加1。 三、数据类型(划重点) 1、概览 2、内存长度(一般用于判断数据溢出) 3、溢出的解释 一般地,超过最大值的有符号整型数值会向上溢出变成负数,超过最小值的数据会向下溢出变成正数。例如: 四、字面常量 1、浮点型常量默认为double型。若在浮点数后面加一个字母f或F,则它是float型。 2、以一对单引号(‘ ’)括起来的一个字符表示字符常量, ► 如:‘A’、‘0’、‘&’、’ab’ 错误! ► 字符常量表示的是一个字符

蓝桥杯 回文数(模拟)

限于喜欢 提交于 2019-12-05 16:50:44
算法训练 回文数 时间限制:1.0s 内存限制:256.0MB 问题描述   若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。   例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数。   又如:对于10进制数87:   STEP1:87+78 = 165 STEP2:165+561 = 726   STEP3:726+627 = 1353 STEP4:1353+3531 = 4884   在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。   写一个程序,给定一个N(2<=N<=10或N=16)进制数M(其中16进制数字为0-9与A-F),求最少经过几步可以得到回文数。   如果在30步以内(包含30步)不可能得到回文数,则输出“Impossible!” 输入格式   两行,N与M 输出格式   如果能在30步以内得到回文数,输出“STEP=xx”(不含引号),其中xx是步数;否则输出一行”Impossible!”(不含引号) 样例输入 9 87 样例输出 STEP=6 tips;大数模拟题,注意细节 #include<iostream> #include<cstring> #include<vector> #include<algorithm> #include<string>

蓝桥杯 回文数(算法训练_Java)

余生颓废 提交于 2019-12-05 16:49:14
算法训练 回文数 时间限制:1.0s 内存限制:256.0MB 问题描述   若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。   例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数。   又如:对于10进制数87:   STEP1:87+78 = 165 STEP2:165+561 = 726   STEP3:726+627 = 1353 STEP4:1353+3531 = 4884   在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。   写一个程序,给定一个N(2<=N<=10或N=16)进制数M(其中16进制数字为0-9与A-F),求最少经过几步可以得到回文数。   如果在30步以内(包含30步)不可能得到回文数,则输出“Impossible!” 输入格式   两行,N与M 输出格式   如果能在30步以内得到回文数,输出“STEP=xx”(不含引号),其中xx是步数;否则输出一行”Impossible!”(不含引号) 样例输入 9 87 样例输出 STEP=6 问题分析: 就是写一个高精度的任意进制加法,不断判断每次得到的结果是否是回文数即可 详细代码如下: import java.util.*; import java.math.*; public class Main { /

蓝桥杯 算法训练 回文数 【模拟 + stringsteam的运用】

对着背影说爱祢 提交于 2019-12-05 16:46:51
算法训练 回文数 时间限制:1.0s 内存限制:256.0MB 问题描述   若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。   例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数。   又如:对于10进制数87:   STEP1:87+78 = 165 STEP2:165+561 = 726   STEP3:726+627 = 1353 STEP4:1353+3531 = 4884   在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。   写一个程序,给定一个N(2<=N<=10或N=16)进制数M(其中16进制数字为0-9与A-F),求最少经过几步可以得到回文数。   如果在30步以内(包含30步)不可能得到回文数,则输出“Impossible!” 输入格式   两行,N与M 输出格式   如果能在30步以内得到回文数,输出“STEP=xx”(不含引号),其中xx是步数;否则输出一行”Impossible!”(不含引号) 样例输入 9 87 样例输出 STEP=6 题意: 略,注意范围 分析: 主要是对进制的转化,细心点分析即可,这里可以不用stringsteam相关字符串流的,也是熟悉下吧,所以就这样写了,思路很清晰,就是模拟即可,麻烦了点,由于样例水了点,不然得高精度模拟

PHP POST接收处理 IOS上传NSData图片数据,上传图片到服务器

情到浓时终转凉″ 提交于 2019-12-05 14:23:22
【IOS 接收PHP 图片】 1,PHP将图片的URL直接返回给IOS端即可,IOS获取到URL处理,下载缓存就可以在APP端使用了。 【IOS上传图片PHP接收】 1、IOS上传图片可能有很多方法,今天作者我用了这种方法,通过IOS 提交NSData 数据,PHP接收并且处理后生成图片 。 很多人会问,NSData 传过来是这样的: <ffd8ffe0 00104a46 49460001> 那么问题来了: 这是什么数据类型? 答:”我开始也这么问,但是经过我查询了1天的资料,了解,他是16进制的编码,其实编程人员一看就知道。0-F,16进制编码, 但是我有点不太肯定,所以还是想去确认一下。搜索了1天的资料后,终于认同了。16进制的“ 2、16进制,我们是不能直接写成图片的?‍ 对啊,我们得将16进制转换成二进制,才能够写出去,再途中,不要复制出来。因为数据类型一旦复制到了TXT中。再进行,就有可能出错。编码这个问题。我是比较烦。 3、我们需要的就是查询自己语言16进制转成二进制的方法。 PHP中。有个方法。可以转成我们需要的二进制。方法详细查询去 W3C pack()函数详细说明 $byte=pack("H*",$byte); 然后通过PHP写出文件就可以了。保存格式肯定是"png jpg 等图片格式"; 注意: <ffd8ffe0 00104a46 49460001>

线上服务器CPU彪高的调试方式

假如想象 提交于 2019-12-05 11:46:22
原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接: https://app.yinxiang.com/shard/s17/nl/19391737/2fee7b91-fc6e-4e96-838a-b6926b422368 线上服务器CPU彪高的调试方式 1. 使用TOP获取对应的CPU彪高的进程ID 2. top -p 8948 -H 查看8948进程所对应的所有线程,查看引起CPU彪高的线程PID,此处为9037 3. jstack 8948 >/home/xiaoi/8948thread1.txt 打印当前的线程堆栈信息至txt文件当中(尽可能的将2,3步骤同时进行,否则可能出现top所查看得到的线程ID,在导出堆栈信息时已经不再引起CPU彪高了) 4.将所得到的线程PID转换为16进制,如此处的9037转换为16进制后的结果为234d(堆栈信息中存储的是16进制的线程ID,而我们在通过TOP获取到的线程ID为10进制的ID,故需要做一下转换操作) 5.得到对应的转换为16进制后的线程ID为 234d,此时使用vim 查看对应的8948thread1.txt堆栈文件,直接搜索 ?234d 查看对应的234d线程的堆栈信息,发现线程是持续的 RUNNABLE运行状态,查看异常可知是代码底层所调用的谷歌文本对比插件所引起的死循环导致 使用

C 语言输出不同颜色字体

淺唱寂寞╮ 提交于 2019-12-05 00:11:24
C 语言输出不同颜色字体 \033是8进制,它就是unix下终端转义符ESC(16进制1A,10进制27) ESC[xm 是unix下改变终端输出颜色的命令 所以,如果是红色,则我们定义为\033[0;32;31m 以下为测试程序www.cdxsxbx.com #include <stdio.h> #define NONE "\033[m" #define RED "\033[0;32;31m" #define LIGHT_RED "\033[1;31m" #define GREEN "\033[0;32;32m" #define LIGHT_GREEN "\033[1;32m" #define BLUE "\033[0;32;34m" #define LIGHT_BLUE "\033[1;34m" #define DARY_GRAY "\033[1;30m" #define CYAN "\033[0;36m" #define LIGHT_CYAN "\033[1;36m" #define PURPLE "\033[0;35m" #define LIGHT_PURPLE "\033[1;35m" #define BROWN "\033[0;33m" #define YELLOW "\033[1;33m" #define LIGHT_GRAY "\033[0;37m" #define