問題タブ [unsigned]
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 - base64 でエンコードされた文字列を Java バイト配列に変換する
暗号化されたデータが C# から取得される復号化クラス (AES/CBC/PKCS7Padding) を作成しています。次の文字列(base64でエンコードされたもの)を取得したい:
usiTyri3/gPJJ0F6Kj9qYL0w/zXiUAEcslUH6/zVIjs=
それをJavaでバイト配列に変換して、キーとしてSecretKeySpecに渡します。C# には符号なしバイトがあり、Java には符号付きバイトしかないという問題があることはわかっています。では、127 より大きい値を持つこの文字列を渡し、Java にキーと初期化ベクトルを受け入れさせるにはどうすればよいでしょうか?
c - char の符号が C で定義されていないのはなぜですか?
C 標準には次のように記載されています。
ISO/IEC 9899:1999、6.2.5.15 (p. 49)
char、signed char、unsigned char の 3 つの型をまとめて文字型と呼びます。実装では、signed char または unsigned char と同じ範囲、表現、および動作を持つように char を定義する必要があります。
実際、gccはターゲット プラットフォームに従ってそれを定義します。
私の質問は、なぜ標準がそうするのですか? 厄介で見つけにくいバグを除いて、あいまいな型定義から生じるものは何も見えません。
さらに、ANSI C (C99 より前) では、バイトサイズの型は char のみであるため、数学に char を使用することは避けられない場合があります。したがって、「数学に char を使用してはならない」というのは正しくありません。char
その場合は、「 、ubyte
、 」の3 つのタイプを含めた方が賢明sbyte
です。
それには理由がありますか、それとも、悪い (しかし一般的な) コンパイラを標準互換として定義できるようにするための、奇妙な後方互換性の問題ですか?
c# - C# マルチスレッドの符号なしインクリメント
複数のスレッドから符号なし整数をインクリメントしたい。
Interlocked.Increment については知っていますが、符号なし整数を処理しません。lock() を使用することもできますが、パフォーマンス上の理由から、できれば使用したくありません。
通常の方法でインクリメントするだけでスレッドセーフですか?統計にのみ使用されるため、時折のインクリメントが失われても問題ありません。私が望んでいないのは、値が破損することです。
c++ - コンパイラの警告
この(C++またはおそらくC)コードがあるとします:
それが正しく行われたかどうかは気にしません。重要な部分は for ループの宣言にあります。size() は符号付きではなく符号なし int を返すため、コンパイラはこれに対して符号付き/符号なしの不一致を示します。i
unsignedに変更することの重要性 習慣からループ カウンターを int として宣言しますが、これが潜在的なエラーである場合は、習慣から抜け出すように強制します。
security - WindowsMobileの署名解除アプリのセキュリティプロンプト
Windows携帯電話にインストールして実行しようとしているWindowsモバイルアプリ(mymobiler)があります。インストールされるとすぐに、プログラムをデバイスで実行するかどうかをユーザーに「はい/いいえ」オプションで尋ねます。
とにかくこれをバイパスすることはありますか?これは1回だけですが、そのプロンプトを回避できるかどうかを知りたいだけです。
注:Windows Mobileでレジストリキーを編集するような解決策があるかもしれませんが、regエディターをインストールするには、同じ理由でWindows Mobileのキーパッドにアクセスする必要があります(regeditアプリのYES / NOプロンプト)。
したがって、winmobキーパッドに触れることなくこのプロセスを実行する方法はありますか。
php - MySQLまたはPHPで32ビット整数を符号なしから符号付きにキャストするにはどうすればよいですか?
PHPに文字列(データソースから取得)があります。これは、フォーマットされた符号なし32ビット整数を表します。後でPHPから取得して(おそらく負の)符号付き整数定数として使用できるように、MySQLデータベースに符号付き32ビット整数として格納する必要があります(PHPには符号なし整数がないため)。
したがって、必要なのは、PHPまたはMySQLのいずれかの変換方法です。プラットフォームに依存するべきではありません(エンディアン/ 32/64ビットの問題はありません)。
MySQLを使用して符号付き整数を符号なしに変換する方法を知っています。
しかし、私はそれを逆に動作させることはできません(注:MySQLはキャストを行うときに64ビット演算を使用します)。
ありがとう。
c - 署名されていないデータ型は何ですか?
このunsigned
「型のない」型が数回使用されているのを見たことがありますが、その説明を見たことはありません。対応するsigned
タイプがあると思います。次に例を示します。
これまでに収集したもの:
- 私のシステムではsizeof(unsigned) = 4
(32 ビットの unsigned int を示唆しています)
- 別の型を unsigned バージョンにキャストするための省略形として使用される可能性があります:
これは ANSI C ですか、それとも単なるコンパイラの拡張機能ですか?
silverlight - Silverlight では、DependencyProperty の最小値/最大値を定義できますか?
たとえば、Canvas の ScaleTransform を変更する依存関係プロパティがありますが、0 を下回るとエラーがスローされます。確かに、それが発生した場合は、コードで強制的にゼロにすることもできますが、Silverlight には存在しない、または最小/最大値を設定することさえない udouble (符号なし double) を使用するような、より良い方法を使用したいと思います。 DependencyProperty のどこかに。
ここで最善のアプローチは何ですか?
objective-c - Objective-C での unsigned char * から char * へのキャストの定義された動作
unsigned char *
との種類の違いがよくわかりましたchar *
。また、C++ でreinterpret_cast を使用して anunsigned char *
を aにキャストする方法も理解しています。char *
私はObjective-Cでsqlite3を使用してNSString
おり、呼び出しから取得しようとしています
これを行うために、私は基本的にやっています:
sqlite3_column_text()
しかし、 は an を返し、unsigned char *
へのキャストの動作が気になりchar *
ます。キャストは実装固有のものであると読んだことがありますが、これが Objective-C で安全なキャストなのか、それとも間違ったツリーを完全に吠えているのか疑問に思っていましたか?
c++ - size_t の否定 (つまり、`-sizeof(struct foo)`)) はどうなりますか?
フォームの式を含む作業中のコードを扱っています
つまり、 a の否定でありsize_t
、C および C++ 標準がこれを確認したときにコンパイラに何を要求するかについては不明です。具体的には、ここや他の場所を見回すとsizeof
、 型の符号なし整数値が返されますsize_t
。符号なし整数を否定するときの指定された動作の明確な参照が見つかりません。あるとすれば、それは何ですか?
編集: わかりましたので、符号なし型の算術演算に関していくつかの良い答えがありますが、これが実際にそのようなものであるかどうかは明らかではありません。これが否定されるとき、それは符号なし整数で動作していますか、それとも符号付き型に変換してそれで何かをしていますか? 標準から期待される動作は、「それが同様の大きさの負の数であると想像し、符号なし値に「オーバーフロー」ルールを適用する」ことですか?