[解決済み] 0x0Fとはどういう意味ですか?また、このコードは何を意味するのでしょうか?
2022-02-18 17:55:33
質問内容
このようなコードがあります。このコードが実際に何を意味するのか、理解させてください。
for(var i = 0; i < input.length; i++)
{
x = input.charCodeAt(i);
output += hex_tab.charAt((x >>> 4) & 0x0F)
+ hex_tab.charAt( x & 0x0F);
}
0x0Fとは何ですか?また、>>>の意味は?
どのように解決するのですか?
>>>
は符号なしビット単位の右シフト演算子です。
0x0F
は16進数で、10進数では15に相当します。これは下位4ビットを表し,次のようなビットパターンに変換されます。
0000 1111
.
&
はビット単位の
AND
演算を行う。
(x >>> 4) & 0x0F
は、1バイトの上位ニブルを与えます。ですから、もし
6A
の場合、基本的に以下のようになります。
06
:
6A = ((0110 1010 >>> 4) & 0x0F) = (0000 0110 & 0x0F) = (0000 0110 & 0000 1111) = 0000 0110 = 06
x & 0x0F
は、バイトの下位ニブルを与えます。ですから、もし
6A
の場合、最終的に
0A
.
6A = (0110 1010 & 0x0F) = (0110 1010 & 0000 1111) = 0000 1010 = 0A
私が見たところ、文字列内のすべての文字の個々のニブルの値を合計して、おそらくある種のチェックサムを作っているように見えます。
関連
-
[解決済み】JavaScriptのisset()に相当するもの
-
[解決済み】「Uncaught TypeError: Chromeで "Illegal invocation "が発生する。
-
[解決済み】JavaScriptで相対URLへのリダイレクトを行う
-
[解決済み】Vueのテンプレートまたはレンダー関数が定義されていない 私はどちらも使っていないのですが?
-
[解決済み】Javascript、[オブジェクトHTMLInputElement]を表示中。]
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] JSONPとは何か、なぜ作られたのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】パッシブイベントリスナー内部でpreventDefaultができない
-
[解決済み】React Js: Uncaught (in promise) SyntaxError: 位置 0 の JSON で予期しないトークン < が発生しました。
-
[解決済み】Uncaught TypeError: nullのプロパティ'value'を読み取ることができない
-
[解決済み] Uncaught TypeError: 未定義のプロパティ 'top' を読み込めない
-
[解決済み】JavaScript "Uncaught TypeError: object is not a function" 連想性の質問
-
[解決済み】BootstrapのCollapseが折りたたまれない
-
[解決済み】Jestが予期しないトークンに遭遇した
-
[解決済み】Babel NodeJS ES6: SyntaxError: 予期しないトークンのエクスポート
-
[解決済み】TypeError: AngularJSで未定義のプロパティ'get'を読み取れない
-
[解決済み】Javascript、[オブジェクトHTMLInputElement]を表示中。]