十六进制

蓝桥杯 基础练习 十六进制转八进制

流过昼夜 提交于 2020-01-28 05:58:29
问题描述 给定n个十六进制正整数,输出它们对应的八进制数。 输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0 9、大写字母A F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式 输出n行,每行为输入对应的八进制正整数。 样例输入 2 39 123ABC 样例输出 71 4435274 好久没做水题了,结果被这卡了近半个小时,一直超时,我看了很久的AC代码,然后把外部调用的函数都写在了main函数里面,就过了……😭,所以,亲们蓝桥杯还是少调用函数叭,能写在主函数里就写在主函数里,思路很简单,十六进制转二进制,再转八进制就OK了: # include <bits/stdc++.h> using namespace std ; int main ( ) { int t ; cin >> t ; char s [ 100005 ] ; while ( t -- ) { scanf ( "%s" , s ) ; string s1 = "" ; int len = strlen ( s ) ; for ( int i = 0 ; i < len ; i ++ ) { if ( s [ i ] == '0' ) s1 + = "0000" ; if ( s [ i ] == '1' ) s1 + = "0001"

蓝桥杯基础练习——进制转化

∥☆過路亽.° 提交于 2020-01-27 18:56:29
十进制转十六进制 原题链接:http://lx.lanqiao.cn/problem.page?gpid=T49 Description   十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。   给出一个非负整数,将它表示成十六进制的形式。 Input 输入描述:   输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647 输入样例: 30 Output 输出描述:   输出这个整数的16进制表示 输出样例: 1E HINT: 时间限制:1.0s 内存限制:512.0MB 正确代码展示 # include <stdio.h> int main ( void ) { char c_num [ 16 ] = { '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , 'A' , 'B' , 'C' , 'D' , 'E' , 'F' } ; int i_num , i , count = 0 ; char s_num [ 10000 ] ;

day01-第一个python程序与数据存储(01-06)

冷暖自知 提交于 2020-01-26 19:53:04
来源于千锋2016还是2017的网课视频。 内存: 抽象:一个开关,有两种状态,开启和关闭,一种状态对应1, 另一种状态对应0,把八个开关放到一个房间里,这个房间称为 “一个”字节,一个开关代表一位,每个房间都有门牌号,该号码 可以看成是“地址”,把无数个房间堆叠起来,组成了摩天大厦。 可以把摩天大厦看成“内存” 单位 1bit 8bit == 1字节 1024bit == 1K 1024K == 1M 1024M == 1G 1024G == 1T 内存中以二进制形式存储数据 二进制:0 1 逢二进一 0 + 0 = 0 0 + 1 = 1 1 + 1 = 10 11 + 1 = 100 11 + ..1 ---------- 100 八进制:0 1 2 3 4 5 6 7 逢八进一 1 + 7 = 10 1 + 2 = 3 作用:开发中基本不用,因为八进制和十六进制可以很轻松的跟二进制转换 十进制:0 12 3 4 5 6 7 8 9 逢十进一 十六进制:0 12 3 4 5 6 7 8 9 a b c d e f 逢十六进一 1 + f = 10 作用:内存地址用十六进制数表示 十进制---》二进制 倒除法,余数逆序 10(10进制) 10/2--->1010(2进制) 二进制转十进制 当前的数字,乘以2的位数次方,最后相加 0*2^0+1*2^1+0*2^2+1*2^3 =

Java中整数值的4中表示方式u

一笑奈何 提交于 2020-01-26 12:32:08
Java中整数值有4中表示方式:十进制、二进制、八进制和十六进制,其中二进制的整数以0b或0B开头; 八进制的整数以0开头; 十六进制的整数以0x或0X开头,其中10-15分别以a-f(此处的a-f不区分大小写)来表示。 1、八进制表示整数值。 int octalValue = 013; System.out.println("八进制的整数打印后为:"+octalValue); 2、十六进制表示整数值。 int hexValue1 = 0x13; System.out.println("十六进制小写0x整数打印结果为:"+hexValue1); int hexValue2 = 0XaF; System.out.println("十六进制大写0X整数打印结果为:"+hexValue2); 3、Java7新增了对二进制整数的支持。 int binValue1 = 0b11010100; System.out.println("二进制数表示整数,打印结果为:"+binValue1); 来源: https://www.cnblogs.com/foreverhHope/p/12234005.html

Python 进制转换 二进制 八进制 十进制 十六进制

橙三吉。 提交于 2020-01-25 11:06:34
Python 进制转换 二进制 八进制 十进制 十六进制 作者: 方倍工作室 地址: http://www.cnblogs.com/txw1958/p/python3-scale.html 全局定义一定不要丢了 全局定义 base = [str(x) for x in range(10)] + [ chr(x) for x in range(ord('A'),ord('A')+6)] 二进制 to 十进制 : int(str,n=10) def bin2dec(string_num): return str(int(string_num, 2)) 十六进制 to 十进制 def hex2dec(string_num): return str(int(string_num.upper(), 16)) 十进制 to 二进制: bin() 复制代码 def dec2bin(string_num): num = int(string_num) mid = [] while True: if num == 0: break num,rem = divmod(num, 2) mid.append(base[rem]) return ''.join([str(x) for x in mid[::-1]]) 复制代码 十进制 to 八进制: oct() 十进制 to 十六进制: hex()

基础练习 十六进制转十进制

十年热恋 提交于 2020-01-24 18:24:47
问题描述   从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。   注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。 样例输入 FFFF 样例输出 65535 # include <iostream> # include <stdio.h> # include <string.h> using namespace std ; int main ( ) { int i , j , k ; char a [ 9 ] ; gets ( a ) ; long long n = 1 ; long long b = 0 ; for ( i = strlen ( a ) - 1 ; i >= 0 ; i -- ) { if ( a [ i ] >= '0' && a [ i ] <= '9' ) b + = ( a [ i ] - '0' ) * n ; else if ( a [ i ] >= 'a' && a [ i ] <= 'f' ) b + = ( a [ i ] - 'a' + 10 ) * n ; else if ( a [ i ] >= 'A' && a [ i ] <= 'F' ) b + = ( a [ i ] - 'A' + 10 ) * n ; n = n * 16 ; } cout << b << endl ;

基础练习 十进制转十六进制

对着背影说爱祢 提交于 2020-01-24 17:45:17
问题描述   十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。   给出一个非负整数,将它表示成十六进制的形式。 输入格式   输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647 输出格式   输出这个整数的16进制表示 样例输入 30 样例输出 1E # include <iostream> # include <stdio.h> # include <string.h> using namespace std ; int main ( ) { int i = 0 , j , k ; int a ; char b [ 1000 ] ; long long n ; cin >> n ; while ( n > 15 ) { a = n % 16 ; if ( a >= 0 && a <= 9 ) b [ i ++ ] = '0' + a ; else { b [ i ++ ] = 'A' + ( a - 10 ) ; } if ( n >= 16 ) n = n / 16 ; else break ;

基础练习 十六进制转八进制

拟墨画扇 提交于 2020-01-24 16:29:36
问题描述   给定n个十六进制正整数,输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n (1<=n<=10)。   接下来n行,每行一个由0 9、大写字母A F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式   输出n行,每行为输入对应的八进制正整数。 【注意】   输入的十六进制数不会有前导0,比如012A。   输出的八进制数也不能有前导0。 样例输入   2   39   123ABC 样例输出   71   4435274 【提示】   先将十六进制数转换成某进制数,再由某进制数转换成八进制。 # include <iostream> # include <stdio.h> # include <string.h> using namespace std ; int main ( ) { int i , j , k ; int n ; int len , len1 ; cin >> n ; string shiliu , er , ba ; for ( i = 0 ; i < n ; i ++ ) { er = "" ; ba = "" ; cin >> shiliu ; for ( j = 0 ; j < shiliu . size ( ) ; j ++ ) { switch ( shiliu [ j ] )

JAVA 十六进制与字符串的转换

谁都会走 提交于 2020-01-22 08:49:14
//转化十六进制的编码为字符串 public static String toStringHexl(String s){ byte[] bakkeyword = new byte[s.length()/2]; for(int i=0 ;i try{ bakkeyword[i] = (byte)(0xff & Integer.parseInt(s.subString(i*2,i*2+2),16)); }catch (Exception e){ e.printStackTrace(); } try{ s = new String(bakkeyword,"UTF-8");//UTF-16 }catch (Exception e1){ e1.printStackTrace(); } } return s; } //转化字符串为十六进制编码 public static String toHexString(String s){ String str = ""; for(int i=0;i int ch = (int) s.charAt(i); String s1 = Integer.toHexString(ch); //若希望得到大写字母 '\U0030' //String s1 = Integer.toHexString(ch).toUpperCase(); str = str +str1

蓝桥杯十进制转十六进制Java

江枫思渺然 提交于 2020-01-22 00:28:23
基础练习之十进制转十六进制 问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。   给出一个非负整数,将它表示成十六进制的形式。 输入格式 输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647 输出格式 输出这个整数的16进制表示 样例输入 30 样例输出 1E import java . util . Scanner ; public class Main { public static void main ( String [ ] args ) { Scanner scanner = new Scanner ( System . in ) ; int num = scanner . nextInt ( ) ; String hex = Integer . toHexString ( num ) ; //将小写字母转换成大写字母 hex = hex . toUpperCase ( ) ; System . out . println ( hex ) ; scanner . close ( ) ;