1566:基礎練習 十六進制轉八進制

 題目地址:https://acmore.cc/problem/LOCAL/1566

?

 1 #include <iostream>
 2 #include <string>
 3 
 4 using namespace std;
 5 
 6 string HexToBin(string s)  //16進制轉2進制
 7 {
 8     string str = "";
 9     for (int i = 0; i < s.size(); ++i)
10     {
11         switch (s[i])
12         {
13         case '0': str += "0000"; break;
14         case '1': str += "0001"; break;
15         case '2': str += "0010"; break;
16         case '3': str += "0011"; break;
17         case '4': str += "0100"; break;
18         case '5': str += "0101"; break;
19         case '6': str += "0110"; break;
20         case '7': str += "0111"; break;
21         case '8': str += "1000"; break;
22         case '9': str += "1001"; break;
23         case 'A': str += "1010"; break;
24         case 'B': str += "1011"; break;
25         case 'C': str += "1100"; break;
26         case 'D': str += "1101"; break;
27         case 'E': str += "1110"; break;
28         case 'F': str += "1111"; break;
29         }
30 
31     }
32     return str;
33 }
34 
35 
36 
37 int main()
38 {
39     
40     int n;
41     while (cin >> n)
42     {
43         string s;
44         for (int i = 0; i < n; ++i)
45         {
46             cin >> s;
47             string binStr = HexToBin(s);  //先將s轉換為二進制串binStr
48             int a = (int)binStr.size() % 3;
49             if (a != 0)        //如果二進制串的長度不是3的倍數,就在前面補零
50             {
51                 for (int i = 1; i <= 3 - a; ++i)
52                     binStr = "0" + binStr;
53             }
54 
55             for (int i = 0; i < binStr.size(); i += 3)
56             {
57                 string str;
58                 str = binStr.substr(i, 3);    //截取binStr長度為3的子串
59                 if (str == "000" && i != 0)
60                     cout << 0;
61                 else if (str == "001")
62                     cout << 1;
63                 else if (str == "010")
64                     cout << 2;
65                 else if (str == "011")
66                     cout << 3;
67                 else if (str == "100")
68                     cout << 4;
69                 else if (str == "101")
70                     cout << 5;
71                 else if (str == "110")
72                     cout << 6;
73                 else if (str == "111")
74                     cout << 7;
75             }
76             cout << endl;
77         }
78         
79     }
80 
81     return 0;
82     
83 }

?

轉載于:https://www.cnblogs.com/FengZeng666/p/10354625.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/449974.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/449974.shtml
英文地址,請注明出處:http://en.pswp.cn/news/449974.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

利用fastjson對json轉map的操作

String str "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}"; //第一種方式 Map maps (Map)JSON.parse(str); System.out.println("這個是用J…

推薦書籍

五百本編程書籍推薦【信息化類】 書號書名作者出版時間定價對應頁碼TP02041企業資源計劃&#xff08;ERP&#xff09;教程羅鴻2006-1&#xffe5;28.00—TP02031ERP理論、方法與實踐周玉清 等2005-12&#xffe5;39.00—TP01059ERP原理設計實施&#xff08;第3版&#xff09;羅…

Linux diffstat命令

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Linux diffstat命令根據diff的比較結果&#xff0c;顯示統計數字。 diffstat讀取diff的輸出結果&#xff0c;然后統計各文件的插入&…

java命令--jmap命令使用(查找內存泄漏對象)

轉自&#xff1a;https://www.cnblogs.com/kongzhongqijing/articles/3621163.html jdk安裝后會自帶一些小工具&#xff0c;jmap命令(Java Memory Map)是其中之一。主要用于打印指定Java進程(或核心文件、遠程調試服務器)的共享對象內存映射或堆內存細節。 jmap命令可以獲得運行…

tr069相關協議說明

截圖自easycwmp官網&#xff1a;http://easycwmp.org/轉載于:https://www.cnblogs.com/kiss-passion/p/10362029.html

如何revert一個merged branch上所有的改動

開發過程中如果想刪除之前merged的某個branch&#xff0c;并且在merge過該分支之后又進行了多次的提交&#xff0c;可以通過以下命令進行&#xff1a; git revert -n merge_commit_id -m 1 注&#xff1a;該方法適合merge過分支后&#xff0c;沒有基于該branch內容做修改的情況…

Beta 沖刺(6/7)

隊名 火箭少男100組長博客 林燊大哥作業博客 Beta 沖鴨鴨鴨&#xff01;成員沖刺階段情況 林燊&#xff08;組長&#xff09; 過去兩天完成了哪些任務 協調組內工作最終測試文稿編寫展示GitHub當日代碼/文檔簽入記錄(組內共享)接下來的計劃 協助開發組完成標簽制作展示視頻制作…

Linux find命令、Linux rmdir命令、Linux ls命令

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Linux find命令用來在指定目錄下查找文件。任何位于參數之前的字符串都將被視為欲查找的目錄名。如果使用該命令時&#xff0c;不設置任…

Android Bluetooth BLE相關開發資源匯總

Android開啟藍牙開關 轉載自Android&#xff1a;Bluetooth 的打開和關閉 檢查系統藍牙是否開啟 BluetoothManager bluetoothManager (BluetoothManager) this. getSystemService(Context.BLUETOOTH_SERVICE); BluetoothAdapter mBluetoothAdapter bluetoothManager.getAdapt…

__invoke,try{}catch(){},microtime(),is_callable()

<?php /*1.對象本身不能直接當函數用&#xff0c;如果被當做函數用&#xff0c;會直接回調__invoke方法* 2.驗證變量的內容能否作為函數調用* 3.try{}catch(Exception $e){}catch(){}finally{}* 4.microtime()函數返回當前時間戳和微妙數* */ class httpException extends …

H.264中的I_PCM模式

H.264中的I_PCM模式 I_PCM是一種幀內編碼模式&#xff0c;在該模式下&#xff0c;編碼器直接傳輸圖像的像素值&#xff0c;而不經過預測和變換。在一些特殊的情況下&#xff0c;特別是圖像內容不規則或者量化參數非常低時&#xff0c;該模式比常規的操作&#xff08;幀內預測…

RxPermissions 源碼解析之舉一反三

[toc] RxPermissions 源碼解析 簡介 RxPermissions 是基于 RxJava 開發的用于幫助 在Android 6.0 中處理運行時權限檢測的框架。在 Android 6.0 中增加了對危險權限的動態申請&#xff0c;而不是像 Android 6.0 之前的默認全部獲取的方式。 原始動態權限的獲取 如果按照以往的獲…

總結Selenium WebDriver中一些鼠標和鍵盤事件的使用

在使用 Selenium WebDriver 做自動化測試的時候&#xff0c;會經常模擬鼠標和鍵盤的一些行為。比如使用鼠標單擊、雙擊、右擊、拖拽等動作&#xff1b;或者鍵盤輸入、快捷鍵使用、組合鍵使用等模擬鍵盤的操作。在 WebDeriver 中&#xff0c;有一個專門的類來負責實現這些測試場…

最快浮點數取絕對值

做視頻算法10多年&#xff0c;經常要算絕對值&#xff0c;整數的絕對值有快速算法&#xff0c;但浮點數的絕對值沒看到有快速算法&#xff0c;經常不段發現&#xff0c;得到如下浮點數的快速算法&#xff1a; 快6倍多&#xff0c; #include <Windows.h> #include <ios…

Linux ln命令、軟鏈接和硬鏈接的區別

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Linux ln命令是一個非常重要命令&#xff0c;它的功能是為某一個文件在另外一個位置建立一個同步的鏈接。 當我們需要在不同的目錄&…

Android應用開發——文件目錄

Android 存儲位置及 API 一、內部存儲 應用安裝后都會在Android 根目錄生成 /data/data/packagename&#xff0c;當前應用讀取不需要讀寫權限 注意&#xff1a; 有些開發者可能看到過應用的根目錄為 /data/user/0/packagename 的情況&#xff0c;這里解釋一下&#xff0c;And…

git常用命令及沖突解決

2019獨角獸企業重金招聘Python工程師標準>>> git常用命令 git config --global user.name chenhongjiang git config --global user.email 123qq.com git init 建立廠庫 git status 查看狀態 git add . 添加當前目錄 git add a.php 添加文件…

C 語言常見問題集

從 http://c-faq-chn.sourceforge.net/ccfaq/index.html 轉載過來&#xff0c;學習C的好助手。 目錄1. 前言2. 聲明和初始化 2.1 我如何決定使用那種整數類型&#xff1f;2.2 64 位機上的 64 位類型是什么樣的&#xff1f;2.3 怎樣定義和聲明全局變量和函數最好&#xff1f;2.4…

【題解】quake

【題解】\(quake\) 題目大意 我們共有報酬\(f\)元&#xff0c;一條邊有它的價值\(w_i\),有它的建造時間\(t_i\)。要求建一些邊&#xff0c;生成一顆樹。求最大的利潤率。 數據范圍 \(n\le 400\) \(m\le10000\) \(Solution\) 實際上\(n,m\)出到\(\le 100000\)應該也是沒問題的。…

Android應用開發——service連接泄露異常:android.app.ServiceConnectionLeaked: that was originally bound here

在做service開發過程中&#xff0c;大部分可能會遇到以下異常&#xff0c;該異常僅通過log輸出&#xff0c;并不會導致app crash。 E/ActivityThread: Activity com.example.image.all_samples.Main2Activity has leaked ServiceConnection com.example.image.all_samples.Mai…