打印hello world java_java – 如何打印“hello world”?

數字4946144450195624適合64位,其二進制表示為:

10001100100100111110111111110111101100011000010101000

該程序對每5位組的字符進行解碼,從右到左

00100|01100|10010|01111|10111|11111|01111|01100|01100|00101|01000

d | l | r | o | w | | o | l | l | e | h

5位編碼

對于5位,可以表示2 5 = 32個字符。英語字母表包含26個字母,這為32 – 26 = 6個符號留出空間

除了字母。使用這種編碼方案,您可以擁有所有26(一個案例)英文字母和6個符號(它們之間的空格)。

算法描述

在for-loop從組跳到組的情況下,5位組被隔離,并且該數字與語句l& l中的掩碼3110 = 11111 2相乘。 31

現在代碼將5位值映射到其對應的7位ascii字符。這是棘手的部分,檢查小寫的二進制表示

字母表中的字母:

ascii | ascii | ascii | algorithm

character | decimal value | binary value | 5-bit codification

--------------------------------------------------------------

space | 32 | 0100000 | 11111

a | 97 | 1100001 | 00001

b | 98 | 1100010 | 00010

c | 99 | 1100011 | 00011

d | 100 | 1100100 | 00100

e | 101 | 1100101 | 00101

f | 102 | 1100110 | 00110

g | 103 | 1100111 | 00111

h | 104 | 1101000 | 01000

i | 105 | 1101001 | 01001

j | 106 | 1101010 | 01010

k | 107 | 1101011 | 01011

l | 108 | 1101100 | 01100

m | 109 | 1101101 | 01101

n | 110 | 1101110 | 01110

o | 111 | 1101111 | 01111

p | 112 | 1110000 | 10000

q | 113 | 1110001 | 10001

r | 114 | 1110010 | 10010

s | 115 | 1110011 | 10011

t | 116 | 1110100 | 10100

u | 117 | 1110101 | 10101

v | 118 | 1110110 | 10110

w | 119 | 1110111 | 10111

x | 120 | 1111000 | 11000

y | 121 | 1111001 | 11001

z | 122 | 1111010 | 11010

在這里你可以看到我們想要映射的ASCII字符從第7和第6位(11xxxxx2)開始(除了空格,只有第6位),你可以或5位

編碼96(9610 = 11000002),這應該足以做映射,但這不會為空間工作(darn空間!)

現在我們知道必須特別小心處理空間與其他字符同時。為此,代碼將第7位(但不是第6位)置1

提取的5位組具有OR 64 64 10 = 1000000 2(1& 31 | 64)。

到目前為止,5位組的形式是:10xxxxx 2(空間將是1011111 2 = 9510)。

如果我們可以將空間映射為0而不影響其他值,那么我們可以打開第6位,應該全部。

這里是mod 95部分來演奏,空間是1011111 2 = 95 10,使用mod

操作(1& 31 | 64)%95)只有空間返回到0,此后,代碼通過加上3210 = 100000 2打開第6位

((1& 31 | 64)%95)32)將5位值轉換為有效的ASCII字符

isolates 5 bits --+ +---- takes 'space' (and only 'space') back to 0

| |

v v

(l & 31 | 64) % 95) + 32

^ ^

turns the | |

7th bit on ------+ +--- turns the 6th bit on

以下代碼執行逆過程,給定一個小寫字符串(最多12個字符),返回64位長的值,可以與OP的代碼一起使用:

public class D {

public static void main(String... args) {

String v = "hello test";

int len = Math.min(12, v.length());

long res = 0L;

for (int i = 0; i < len; i++) {

long c = (long) v.charAt(i) & 31;

res |= ((((31 - c) / 31) * 31) | c) << 5 * i;

}

System.out.println(res);

}

}

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

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

相關文章

研發人員為什么留不住

研發人員為什么留不住&#xff1f;(1)——問題與現象 研發團隊做為公司的核心&#xff0c;承擔了完成項目為公司賺錢的目的。研發人員在公司倍受重視的同時&#xff0c;并沒有降低流失率。 問題與現象 以下問題相信您會在朋友口中&#xff0c;甚至自己的公司聽到。 老板說&a…

算法與編程--1

1、編寫一個程序&#xff0c;將a.txt文件中的單詞與b.txt文件中的單詞交替合并到c.txt文件中&#xff0c;a.txt文件中的單詞用回車符分隔&#xff0c;b.txt文件中用回車或空格進行分隔。 package com.test;import java.io.File; import java.io.FileNotFoundException; import …

Safari支不支持HTML5錄音? 現在瀏覽器中最好的解決方案是WebRTC下的 navigator.getUserMedia API。...

先放結論&#xff1a;Safari支不支持HTML5錄音&#xff1f; ——據我調查&#xff0c;不支持。 現在瀏覽器中最好的解決方案是WebRTC下的 navigator.getUserMedia API。 可是當使用Can I use查看兼容性的時候&#xff0c;我發現 不過這個是有歷史原因的&#xff0c;我記得RTC是…

python lambda map reduce_簡單了解python filter、map、reduce的區別

這篇文章主要介紹了簡單了解python filter、map、reduce的區別,文中通過示例代碼介紹的非常詳細&#xff0c;對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下python中有一些非常有趣的函數&#xff0c;面試的時候可能會遇到。今天也來總結一下&#xff0c;不…

面試問題匯總 精選 分析 解答 職業規劃 part 4

程序員做業余項目、記筆記和寫博客的重要性【經典】 編程是一種創造過程&#xff0c;業余項目允許程序員在沒有截止日期或各種限制的條件下&#xff0c;以探索形式編程。業余項目之所以重要&#xff0c;有以下幾個原因。 探索新技術 每天都會不斷有新技術出現&#xff0c;而…

NB-IOT連接移動onenet平臺流程

1. 先創建賬號&#xff0c;然后創建產品 2. 創建設備&#xff0c;用ATCGSN和ATCIMI查詢NB-IOT的IMEI和IMSI填寫上去。 3. 創建好的設備。 轉載于:https://www.cnblogs.com/429512065qhq/p/8359247.html

sort,uniq,wc指令簡單用法

sort用于排序&#xff0c;可以根據不同的數據類型來進行排序&#xff0c;例如想要查看最后一個登陸的用戶信息&#xff0c;可以把last和sort結合起來使用&#xff0c;按照登陸時間排序。 使用sort排序&#xff1a; sort常用參數&#xff1a; -f &#xff1a;忽略大小寫的差異 -…

java ejb jsp 架構_JavaEE架構

B/S 體系結構image.pngJava EE 經典架構image.pngJava EE 13規范JDBCimage.pngJDBC 對象與接口java.sql.DriverManager&#xff1a;用于管理JDBC驅動的服務類&#xff0c;當JDBC驅動加載至內存后&#xff0c;DriverManager會自動注冊JDBC驅動&#xff0c;然后通過getConnection…

音視頻中的CBR,VBR,ABR

視頻碼率CBR和VBR 固定碼率&#xff08;CBR&#xff09;與可變碼率&#xff08;VBR&#xff09; 一般在我們輸出視頻文件的時候都會碰到一個選擇即CBR與VBR&#xff0c;CBR的英文全稱是Constant Bit Rate翻譯過來是固定碼率&#xff0c;就是說每一秒種的畫面如果看做是一個…

fifo java_java – 如何保證ThreadPoolExecutor中的FIFO執行順序

我用這行代碼創建一個ThreadPoolExecutor&#xff1a;private ExecutorService executor new ThreadPoolExecutor(5, 10, 120, TimeUnit.SECONDS, new ArrayBlockingQueue(20, true));然后,我運行25個任務(T01到T25),所以情況是&#xff1a;>目前正在運行的5個任務(T01到T0…

HihoCoder 1671 DFS

本以為是個簡單的水題&#xff0c;好吧&#xff0c;其實就是個水題&#xff0c;雖然我還是…… 題意的理解上有一點小小的問題orz&#xff0c;這里的括號里的字母是可以看成一個整體的&#xff0c;可以看作一個字母來進行反轉&#xff0c; 比如說&#xff0c;(abc(de))&#xf…

avs 中國音視頻標準DRA 中音頻標準及應用

DRA 是Digital Rise Audio的縮寫。是廣州廣晟數碼技術有限公司&#xff08;Digital Rise Technology)開發的一項數字音頻編碼技術&#xff0c;目前是音頻編碼的國家標準。2007年1月被批準成為中國電子行業標準&#xff08;標準號SJ/T11368-2006&#xff09;。DRA音頻標準可應用…

UWP數據綁定

已針對 Windows 10 上的 UWP 應用更新。 有關 Windows 8.x 文章&#xff0c;請參閱存檔 ] 數據綁定是你的應用 UI 用來顯示數據的一種方法&#xff0c;可以選擇與該數據保持同步。 借助數據綁定&#xff0c;你可以將關注的數據從關注的 UI 中分離開來&#xff0c;從而可形成一個…

資源鏈接

http://cn.epubee.com/ 電子書 http://www.feemic.cn/mooc_search/1002384010 中國大學mooc視頻下載 http://www.icourse163.org 中國大學mooc http://www.xuetangx.com 學堂在線 http://yun.java1234.com/ 視頻搜索 http://www.52studyit.com/轉載于:https://www.cnblogs.co…

最大開源代碼sourceforge 簡介 及視音頻方面常用的開源代碼

所有的音視頻凱源代碼在這里&#xff1a;http://sourceforge.net/directory/audio-video/os:windows/&#xff0c;你可以下載分析&#xff0c;視頻不懂請發郵件給我&#xff0c;幫你分析。 0.視頻項目 0.1 VLC media player VLC 多媒體播放器&#xff08;最初為VideoLAN Clien…

[轉]被當做狗和雞來驅趕的百姓

原文鏈接&#xff1a;知乎 杜甫寫過許多好詩。 好詩&#xff0c;不一定是辭藻美、場面好、色色入畫。 不一定是吳楚東南坼&#xff0c;乾坤日夜浮。不一定是五更鼓角聲悲壯&#xff0c;三峽星河影動搖。 不一定是星垂平野闊&#xff0c;月涌大江流。不一定是細雨魚兒出&#xf…

背包問題(動態規劃)

本篇文章作為個人的背包問題學習資料&#xff0c;來自轉載 dd大牛的《背包九講》. P01: 01背包問題 題目 有N件物品和一個容量為V的背包。第i件物品的費用是c[i]&#xff0c;價值是w[i]。求解將哪些物品裝入背包可使這些物品的費用總和不超過背包容量&#xff0c;且價值總和最大…

notepad編譯java_Notepad++直接編譯運行java代碼的具體步驟

最近不少朋友表示還不會Notepad直接編譯運行java代碼的操作步驟&#xff0c;使用下面小編就帶來了Notepad直接編譯運行java代碼的操作方法哦&#xff0c;一起去看看吧。Notepad直接編譯運行java代碼的具體步驟下載Notepad&#xff0c;找到Plugin Manager。插件--->Plugin Ma…

基于linux 的2048

于 debian 接著寫 2048, 的影響&#xff0c;如下面的&#xff1a; 感興趣的朋友能夠在這里&#xff08;http://download.csdn.net/download/kamsau/7330933&#xff09;下載。 版權聲明&#xff1a;本文博客原創文章&#xff0c;博客&#xff0c;未經同意&#xff0c;不得轉載。…

架構師之路

1. 架構師之路(1)---面向過程和面向對象 1、引言 機算機科學是一門應用科學&#xff0c;它的知識體系是典型的倒三角結構&#xff0c;所用的基礎知識并不多&#xff0c;只是隨著應用領域和方向的不同&#xff0c;產生了很多的分支&#xff0c;所以說編程并不是一件很困難的…