問題タブ [unsigned-long-long-int]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - unsigned long longに相当するJava?
unsigned long long int
C ++では、、またはを介して64ビットの符号なし整数にアクセスできましたuint64_t
。さて、Javaではlongは64ビットです。ただし、それらは署名されています。
Javaプリミティブとして利用可能なunsignedlong(long)はありますか?どうやって使うの?
c - %d を使用して unsigned long long を出力する
以下を印刷すると -1 になるのはなぜですか?
llu
の代わりに使用する必要があることはわかってd
いますが、18446744073709551615LL の代わりに -1 が返されるのはなぜですか?
オーバーフローのせいですか?
java - intをshortに変換するjava
データの16ビットチェックサムを計算しています。サーバーに送信する必要があり、サーバーで再計算して、提供されたチェックサムと一致させる必要があります。取得しているチェックサム値はintですが、値を送信するためのバイトが2バイトしかないため、メソッドの呼び出し中にキャストint
しています。これは、チェックサム値が32767未満になるまでは正常に機能し、その後は負の値になります。short
shortToBytes
Javaには符号なしプリミティブがないため、許可されている符号付きの最大値を超える値を送信することはできませんshort
。
どうすればこれを行うことができますか?intをshortに変換し、切り捨てやsigned&unsignedintを気にせずにネットワーク経由で送信します。
また、両側でJavaプログラムを実行しています。
c - 2つの長い長いintを正しく乗算する方法は?
2^32単位で与えられる長い数を掛けたいです。私はすでにそれを行うための素晴らしいアルゴリズムを考えていましたが、残念ながら私は立ち往生しています。私が立ち往生している状況は、2つの長いintを乗算し、それを2^32ベースで表す方法です。
ULLONG_MAXがULONG_MAXと同じなのはなぜですか?http://en.wikipedia.org/wiki/Limits.h#Member_constantsによると、18,446,744,073,709,551,615Iである必要があります。
私のコメントからわかるように、2つのuint32での乗算の結果が必要です。下半分は0x1、上半分は0xFFFFFFFEになります。これらの値を取得するにはどうすればよいですか?
(私はSOでこの質問を見つけましたが、私の考えに似た答えが与えられているので、私の状況では役に立ちません:2つの長い長いintを掛けるC)
編集: 私のシステムはWindowsXP32ビットです。gcc 3.4.2(mingw-special)を使用しています
コードの実行中に取得する出力:
Edit2:
戻り値
編集3: Peteshのおかげで、私は解決策を見つけることができました:
cocoa-touch - iOS での 64 ビット符号なし整数の解析
NSString に非常に大きな符号なし整数があります。これは 2^64 まで大きくなる可能性があります。これを解析する既存の関数/クラスはありますか?
unsigned long long ということはわかっているのですが、これをどのような方法で解析すればよいのかわかりにくいです。
c++ - 長さが1024ビットの整数変数を宣言するにはどうすればよいですか?
私は、指数理論よりも優れた時間で大きな数を因数分解できる数論/コンピューターサイエンスのマージされたクラスのアルゴリズムを作成しようとしています。私は64ビットマシンでg++コンパイラを使用していますが、チェーンをlong
つなぐと、最大2つのlongしか実行できなくなります。変数に任意の量のスペースを使用するように指示する方法はありますか?
java - c++ の unsigned long long の問題
xyz.cpp
長い定数を含むcppファイルがあります。ここで、long 定数を long long に変更する必要があります。
に
将来の目的のために。(私はgccコンパイラを使用しています)しかし、そうすると、「整数値が大きすぎて長い値を保持できません」というエラーが発生しました。インターネットで閲覧したところ、使用などの提案がありましたが、
それはうまくいきました。.cpp
しかし問題は、このファイルをに変換する必要がある jar ファイルを持っていることです.java
。.java
ファイルからファイルを変換しようとすると、.cpp
ULL が認識されません。
今私の質問は
1、このシーンでは、最後に ULL @ を追加する代わりに、私の gcc コンパイラが long long 値を受け入れるようにするか、その long long 値 (ULL) を受け入れるために .java ファイルで何をすべきかを提案します (私はJavaが長い長い値を保持できる長い値しか持っていないことを知っています)
前もって感謝します :)
java - .const ファイル (c++) を .java クラスに変換する際の問題
私は.constファイルを持っています.abc.const(cppファイル)としましょう。そのファイルの内容は、
xyz :ullong:0x1000000000000000ULL yub :ullong:0x010000000000000ULL .... ....
今、私はこのファイルを .java クラスに変換するプログラムを作成しました。
しかし、私が上記を試してみると、
次のエラーが発生しました
abc.java:255: ';' public static final long xyz = 0x1000000000000000ULL が期待されます。
これをどのように解決すればよいですか。前もって感謝します??
(これを解決して、この .const ファイルから .java クラスを生成する必要があります)
c++ - 16進文字列を符号なしロングに変換する方法は?
次の16進値があります
これをに変換する方法はunsigned long
?
c++ - 文字列からの 64 ビット整数変換
文字列から64 ビットの符号なし整数を読み取る問題に取り組んでunsigned long long
います。私のコードは、GCC 4.3 と Visual Studio 2010 の両方で動作するはずです。
私はトピックに関するこの質問と回答を読みました:ファイルから64ビット整数文字列を読み取りstrtoull
、std::stringstream
. 残念ながらstrtoull
、Visual Studio のstdlib.h
.
だから私は短いテンプレート化された関数を書きました:
このソリューションの効率が心配なので、このシナリオでより良いオプションはありますか?